1. 程式人生 > >uboot的主Makefile中變數MKCONFIG功能介紹

uboot的主Makefile中變數MKCONFIG功能介紹

在uboot的主Makefile中,定義了一個變數:MKCONFIG    := $(SRCTREE)/mkconfig。

該MKCONFIG 變數即為源程式目錄下的mkconfig指令碼檔案,該檔案在uboot的前期配置操作時會用到。

x210_sd_config :    unconfig     @$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110     @echo "TEXT_BASE = 0xc3e00000" > $(obj)board/samsung/x210/config.mk

這幾句程式碼就是在配置uboot時所做的操作,現予以說明:

[email protected]$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110

這句表示將6個引數傳入MKCONFIG變數(即源程式目錄下的mkconfig指令碼檔案)中待用,6個引數分別為:

$1=x210_sd  注: $(@:_config=) ,這是第一個引數,[email protected]表示的是目標x210_sd_config, $(@:_config=) 這個符號的意思是將目標x210_sd_config中的“_config”部分用空代替作為第一個引數,即將x210_sd作為第一個引數。

$2=arm ,$3=s5pc11x,$4=x210 ,$5=samsung ,$6=s5pc110。

而源程式目錄下的mkconfig指令碼檔案中所做的事情為將這6個變數寫入./include目錄下的config.mk檔案中待用,其次就是建立了5個符號連結:

第一個:在include目錄下建立asm檔案,指向asm-arm 第二個:在inlcude/asm-arm下建立一個arch檔案,指向include/asm-arm/arch-s5pc110 第三個:在include目錄下建立regs.h檔案,指向include/s5pc110.h 第四個:刪除第二個符號連結,在inlcude/asm-arm下建立一個arch檔案,指向include/asm-arm/arch-s5pc11x 第五個:在include/asm-arm下建立一個proc檔案,指向include/asm-arm/proc-armv

[email protected] "TEXT_BASE = 0xc3e00000" > $(obj)board/samsung/x210/config.mk

將TEXT_BASE = 0xc3e00000這句話寫入(obj)board/samsung/x210/config.mk檔案中待用。