u-boot使用了同Linux一樣的編譯配置方式,即使用kbuild系統(tǒng)來(lái)管理整體代碼的配置和編譯,通過(guò)defconfig來(lái)定制各種不同廠(chǎng)商的芯片bootloader二進(jìn)制程序。
編譯只需要注意通過(guò)環(huán)境變量或者命令行參數(shù)的方式引入一個(gè)交叉編譯工具即可:
- ? CROSS_COMPILE:定義交叉編譯工具鏈,可以是aarch64-linux-gnu-,arm-none-eabi-或者ppc-linux-gnu-等等;
- ? u-boot有幾個(gè)配置是需要由對(duì)應(yīng)board配置的。SYS_ARCH,SYS_CPU,SYS_SOC,SYS_BOARD,SYS_VENDOR,SYS_CONFIG_NAME;
- ? 一般在board/vendor/board/Kconfig中可全部定義,部分SYS_CPU,SYS_SOC也可以在arch/xxx/Kconfig中定義,根據(jù)這幾個(gè)配置即可確定使用的cpu架構(gòu),廠(chǎng)商,板級(jí)信息,soc信息。
- ? Makefile會(huì)自動(dòng)根據(jù)上述信息進(jìn)入對(duì)應(yīng)目錄組織編譯規(guī)則,一般如果沒(méi)有自己對(duì)應(yīng)的這些board信息,需要自己在對(duì)應(yīng)目錄建立這些Kconfig和在configs中建立defconfig。
在configs目錄中保存了uboot中所有支持的board配置,比如要使用rk3399的evb板的配置信息使用如下方式即可編譯出來(lái):
make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3399_defconfig
make
如果沒(méi)有對(duì)應(yīng)的defconfig可以找一個(gè)與自己板級(jí)信息類(lèi)似的defconfig生成一個(gè).config,再通過(guò)menuconfig來(lái)完成自己board的配置,并最后通過(guò)savedefconfig保存為自己board的defconfig:
make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3399_defconfig
make menuconfig
make savedefconfig
cp defconfig configs/my_defconfig
-
芯片
+關(guān)注
關(guān)注
456文章
51192瀏覽量
427321 -
ARM
+關(guān)注
關(guān)注
134文章
9169瀏覽量
369239 -
編譯
+關(guān)注
關(guān)注
0文章
661瀏覽量
33047 -
Uboot
+關(guān)注
關(guān)注
4文章
125瀏覽量
28350
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
U-boot的基本介紹
![<b class='flag-5'>U-boot</b>的基本介紹](https://file1.elecfans.com/web2/M00/8C/C4/wKgaomSxDC-AIi1QAACKegMzhAU876.png)
如何在Petalinux下Patch u-boot源碼
![如何在Petalinux下Patch <b class='flag-5'>u-boot</b><b class='flag-5'>源碼</b>](https://file1.elecfans.com/web3/M00/01/09/wKgZPGdQEpOAD0O1AAAZK-Pd-YI839.png)
u-boot源碼
MY-IMX6-EK200用busybox編譯自己的u-boot和kernel源碼
MY-IMX6-EK200用busybox編譯自己的u-boot和kernel源碼
U-Boot的啟動(dòng)及移植分析
Porting U-Boot to the Control
u-boot的Makefile分析
U-Boot結(jié)構(gòu)功能介紹
![<b class='flag-5'>U-Boot</b>結(jié)構(gòu)功能介紹](https://file1.elecfans.com//web2/M00/A5/A8/wKgZomUMOXeAD3-GAAAxLI3Aifs249.jpg)
u-boot簡(jiǎn)介
如何在U-Boot中實(shí)現(xiàn)對(duì)Yaffs鏡像的設(shè)計(jì)?
![如何在<b class='flag-5'>U-Boot</b>中實(shí)現(xiàn)對(duì)Yaffs鏡像的設(shè)計(jì)?](https://file.elecfans.com/web1/M00/61/BB/o4YBAFuGRMaALXUPAACkyWLJ80c006.jpg)
創(chuàng)建自定義的u-boot命令
Linux U-Boot開(kāi)發(fā)指南
![Linux <b class='flag-5'>U-Boot</b>開(kāi)發(fā)指南](https://file.elecfans.com//web2/M00/95/B6/poYBAGQFT7mAWRkKAAFz-Z4R0zY051.png)
評(píng)論