分析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中的語句是:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM