今天分析一下uboot make config過程,make xxx_config實質上就是調用了
首先看MKCONFIG:
【注意】SRCTREE=源文件下的目錄
之后的語句:
@$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c2440就相當于執(zhí)行
#mkconfig xxx arm arm920t EmbedSky NULL s3c2440
#$0 $1 $2 $3 $4 $5 $6
于是乎就開始執(zhí)行mkconfig;
[ "${BOARD_NAME}" ] 就是指明xxxx,上面的實例為100ask24x0
這里就會執(zhí)行echo “Configuring for 100ask24x0 board...”
(1)建立軟鏈接
之后就會執(zhí)行:
ln -s asm-arm asm
【注意】
建立一個鏈接文件,為什么這么做呢?
在源文件中調用:
#include //就相當于 include
-------------------------------------------------------------------------
繼續(xù)往下看:
同樣生成asm-arm/proc文件。
(2)生成config.mk文件
生成config.mk文件:
echo "ARCH = $2" > config.mk //重定向
echo "CPU = $3" >> config.mk //追加到config.mk
echo "BOARD = $4" >> config.mk
之后由于$5等于NULL,$6 = s3c2440,所以:
SOC = s3c24x0會定向到config.mk文件中;
config.mk內容:(在include文件夾中)
ARCH = arm
CPU = arm920t
BOARD = 100ask24x0
SOC = s3c24x0
(3)生成config.h
在uboot中APPEND = no
所以執(zhí)行else分支的語句;
config.h也是在include文件夾中;
以上就是分析uboot make config過程的相關知識點,更多Linux知識學習,請關注Linux系統(tǒng)入門學習欄目。