編譯IMX6ULL的u boot和kernel原始碼

2021-09-21 18:22:24 字數 1329 閱讀 1193

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-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh

預設安裝在 /opt/fsl-imx-x11/4.1.15-2.1.0/目錄

$ source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

或者永久儲存交叉編譯工具環境變數

$ sudo vim ~/.bashrc

在最後增加以下

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

儲存配置

$ source ~/.bashrc

$ $cc -v

$ mkdir -p ~/imx6ull/source

複製原始碼到目錄~/imx6ull/source(略)

$ cd ~/imx6ull/source

$ tar -jxvf u-boot-2016.03-svn351-release.20190128.tar.bz2

$ tar -jxvf linux-4.1.15-20190424.ea5a2b5.tar.bz2

$ cd ~/imx6ull/source/u-boot-2016.03

$ make myimx6ek140p-6y-256m-emmc_defconfig (根據核心板硬體配置,選擇對應配置)

$ make -j4

$ mkimage -a arm -o linux -t script -c none -a 0 -e 0 -n 「myzr bootscripts」 -d board/myzr/bootscripts/myimx6a7_l4115_emmc_script.cmd my_environment_emmc.scr

$ cd ~/imx6ull/source/linux-4.1.15

$ make myimx6a7_defconfig (根據核心板a7硬體配置,選擇對應配置)

$ make -j4

$ make myimx6ek140p-6y-256m-emmc.dtb (根據核心板硬體配置,選擇對應配置)

直接把編譯好的4個檔案用燒寫工具測試;或者用tftp來燒寫

IMX6ULL啟動流程

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

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

開啟uboot根目錄下的configs資料夾,複製mx6ull 14x14 evk emmc defconfig檔案並重命名mx6ull fire emmc defconfig,輸入指令如下 cd configs cp mx6ull 14x14 evk emmc defconfig mx6ull f...

IMX6ULL學習手冊之核心編譯

1.uboot是乙個複雜的裸機程式。2.uboot是乙個bootloader,用於啟動linux系統,主要是用來初始化ddr的,引導linux核心的啟動,因為linux是執行在ddr中的。但是imx是個例外。uboot是通用的,支援多種架構。1.uboot有乙個原始碼官網,但是你的晶元是由不同的生產...