imx6ull移植uboot(一)新增自己的開發板

2021-10-03 10:32:46 字數 2991 閱讀 2618

開啟uboot根目錄下的configs資料夾,複製mx6ull_14x14_evk_emmc_defconfig檔案並重命名mx6ull_fire_emmc_defconfig,輸入指令如下

cd configs

cp mx6ull_14x14_evk_emmc_defconfig mx6ull_fire_emmc_defconfig

更改mx6ull_fire_emmc_defconfig檔案如下(只修改第一行和第四行)

在include/configs目錄下新增開發板的標頭檔案,複製include/configs/mx6ullevk.h,並重命名為 mx6ull_alientek_emmc.h,命令如下:

cd include/configs/

cp mx6ullevk.h mx6ull_fire_emmc.h

更改mx6ull_fire_emmc.**件,輸入指令

vim mx6ull_fire_emmc.h
#ifndef __mx6ullevk_config_h

#define __mx6ullevk_config_h

改為:

#ifndef __mx6ull_alientek_emmc_config_h

#define __mx6ull_alientek_emmc_config_h

其他暫且預設,更改完成如下圖:

進入uboot-imx-rel_imx_4.1.15_2.1.0_ga/board/freescale路徑,複製mx6ullevk資料夾,並進入,檢視資料夾內容,命令如下:

cp -rf mx6ullevk/ mx6ull_fire_emmc

cd mx6ull_fire_emmc

ls

imximage.cfg 、 kconfig、makefile、maintainers、mx6ullevk.c
1、重新命名mx6ullevk.c檔案為mx6ull_fire_emmc.c,命令為:

mv mx6ullevk.c mx6ull_fire_emmc.c
2、修改makefile檔案:

修改第六行,需和.c檔名一致,結果如下:

3、修改imximage.cfg 檔案

將 imximage.cfg 中的下面一句:

plugin board/freescale/mx6ullevk/plugin.bin 0x00907000

改為:plugin board/freescale/mx6ull_fire_emmc /plugin.bin 0x00907000

如下圖所示:

4、修改 kconfig 檔案

5、修改maintainers 檔案

uboot-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/cpu/armv7/mx6/kconfig(如果用的 i.mx6ul 的話,應該修改 arch/arm/kconfig 這個文

件),在 207 行加入如下內容:

其中第207行內容名稱需要和uboot-imx-rel_imx_4.1.15_2.1.0_ga/board/freescale/mx6ull_fire_emmc/kconfig檔案中的第一行名稱一致

在最後一行的 endif的前一行新增如下內容:

source

"board/freescale/mx6ull_alientek_emmc/kconfig"

依次輸入以下命令編譯,若出現錯誤,從步驟一開始仔細對比

make arch=arm cross_compile=arm-linux-gnueabihf- distclean

make arch=arm cross_compile=arm-linux-gnueabihf- mx6ull_fire_emmc_defconfig

make v=1 arch=arm cross_compile=arm-linux-gnueabihf-

等編譯完成, 輸 入 如 下 命 令 , 添 加 的

mx6ull_alientek_emmc.h 這個標頭檔案有沒有被引用。

grep -nr "mx6ull_alientek_emmc.h"
將記憶體卡插入電腦,連線到虛擬機器,將燒寫工具拷貝到uboot的根目錄下並給定可執行許可權,最後輸入指令

./imxdownload u-boot.bin /dev/sdb
燒寫完成後,將記憶體卡插入開發板,開發板設定為sd卡啟動,連線串列埠沒開啟mobaxterm軟體,觀察uboot是否正常啟動。

後續修改lcd等裝置

編譯IMX6ULL的u boot和kernel原始碼

ubuntu14.04的編譯環境 第乙個 號,普通使用者 chmod x fsl imx x11 glibc x86 64 meta toolchain qt5 cortexa7hf neon toolchain 4.1.15 2.1.0.sh fsl imx x11 glibc x86 64 me...

IMX6ULL學習筆記(一)

imx6ull裸機開發學習 以下內容是我在學習正點原子imx6ull開發板alpha中記錄的筆記,部分摘錄自正點原子imx6ull開發手冊。bin檔案前面要新增頭部 ivt boot data dcd資料 由官方手冊可知要燒寫到sd卡中的load.imx檔案在sd卡中的起始位址是0x400,也就是1...

IMX6ULL啟動流程

假設板子設定為sd tf卡啟動,boot rom程式會做什麼?把程式從sd tf卡讀出來,執行。從 讀?從sd tf卡讀,這需要先初始化sd tf卡 根據efuse或gpio的設定初始化sd tf卡。讀到 去?讀到記憶體即ddr去,這需要先初始化ddr。除了初始化啟動裝置 初始化ddr,還需要初始化...