分析uboot中 make xxx_config过程
make xxx_config實質上就是調用了
?
首先看MKCONFIG:
?
【注意】SRCTREE=源文件下的目錄
?
之后的語句:
@$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c2440就相當于執行
#mkconfig xxx arm arm920t EmbedSky NULL s3c2440
#$0?? $1? $2 $3? $4? $5? $6
?
于是乎就開始執行mkconfig;
?
[ "${BOARD_NAME}" ] 就是指明xxxx,上面的實例為100ask24x0
這里就會執行echo “Configuring for 100ask24x0 board...”
?
?
(1)建立軟鏈接
之后就會執行:
?
ln -s asm-arm asm
【注意】
建立一個鏈接文件,為什么這么做呢?
在源文件中調用:
#include <asm/type.h> //就相當于 include <asm-arm/type.h>
-------------------------------------------------------------------------
?
繼續往下看:
?
?同樣生成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
所以執行else分支的語句;
?
config.h也是在include文件夾中;
所以在config.h中的語句是:
?
?
轉載于:https://www.cnblogs.com/linhaostudy/p/7086756.html
總結
以上是生活随笔為你收集整理的分析uboot中 make xxx_config过程的全部內容,希望文章能夠幫你解決所遇到的問題。