新唐NUC980 uboot配置分析
1.首先從gitee下載uboot源碼git clone https://gitee.com/OpenNuvoton/NUC970_U-Boot_v2016.11.git
2.配置uboot
make distclean
make nuc980_defconfig
make menuconfig
注意:具體配置可以參考官網(wǎng)的uboot配置說(shuō)明 NUC980 U-Boot v2016_11 User Manual CHT.pdf
這里我只配置使用spi flash啟動(dòng)參考如圖:
3.編譯uboot
make
至此uboot編譯完成,在uboot根目錄生成了u-boot.bin文件燒寫到spi flash開(kāi)機(jī)即可運(yùn)行uboot代碼。
4.make nuc980_defconfig配置分析
輸入 make nuc980_defconfig V=1 命令會(huì)打印make編譯命令:
4.1 fixdep
首先編譯生成了 fixdep這個(gè)本地使用程序,該程序的目的是生成 *.o.cmd文件供makefile使用,該程序使用方法
編寫一個(gè)main.c文件
使用命令生成依賴文件
會(huì)在該目錄生成 main.d文件
執(zhí)行fixdep程序
fixdep在uboot的makefile里面被調(diào)用會(huì)根據(jù)相關(guān)文件生成 name.o.cmd 文件,然后makefile會(huì)包含該文件并使用。
4.2 conf 程序
scripts/kconfig/conf --defconfig=arch/../configs/nuc980_defconfig Kconfig
執(zhí)行以上程序在uboot根目錄生成 .config 文件,conf程序?qū)嶋H就是讀取nuc980_defconfig 和Kconfig文件生成.config
4.3 mconf 程序
執(zhí)行 make menuconfig 會(huì)有以下輸出:
mconf程序?qū)嶋H是讀取 .config 文件(如果有這個(gè)文件)和kconfig生成默認(rèn)配置菜單,在我們配置之后保存再生成 .config ?梢园裮conf程序拷貝出來(lái),自己按照uboot kconfig例子寫個(gè)kconfig,然后執(zhí)行
./mconf kconfig
就會(huì)出現(xiàn)配置菜單。
4.4 makefile
執(zhí)行make nuc980_defconfig 實(shí)際是根據(jù)uboot根目錄的makefile的 %config 目標(biāo)依賴編譯生成fixdep和conf程序,然后調(diào)用執(zhí)行命令生成 .comfig 默認(rèn)配置文件。同理執(zhí)行make menuconfig也是根據(jù)makefile文件里的目標(biāo)依賴生成mcon程序,執(zhí)行相應(yīng)命令產(chǎn)生配置菜單。
5.配置總結(jié)
配置的時(shí)候執(zhí)行make *config時(shí)都是去makefile里面查找目標(biāo),然后根據(jù)依賴生成相應(yīng)依賴文件,然后再執(zhí)行相應(yīng)命令生成相應(yīng)配置。這里附加以上makefile目標(biāo)在makefile文件的位置
make nuc980_defconfig
make menuconfig
查找這個(gè)可以通過(guò) grep -nrw menuconfig命令查找
如需要了解更多新唐MCU產(chǎn)品,請(qǐng)聯(lián)系新唐代理微信(980010600)!
在之前的介紹中,我們也為大家介紹了《MCU入門教程-增強(qiáng)型脈寬調(diào)制EPWM》
編輯:zzy 最后修改時(shí)間:2022-09-01