2011年3月1日 星期二

隨手筆記-3-uboot

隨手筆記-3-uboot

1. make smdkv210single_config 小解析
    Makefile裡會有:
smdkv210single_config : unconfig
    @$(MKCONFIG) $(@:_config=) arm s5pc11x smdkc110 samsung s5pc110
    @echo "TEXT_BASE = 0xc3e00000" > $(obj)board/samsung/smdkc110/config.mk
其中$(@:_config=)是將「smdkv210single_config」中的「_config」去掉,變成「smdkv210single」,而「arm s5pc11x smdkc110 samsung s5pc110」 分別對應 ARCH CPU BOARD VENDOR SOC。
include $(obj)include/config.mk
    export  ARCH CPU BOARD VENDOR SOC
    Compile後,ARCH CPU BOARD VENDOR SOC 對應的值會寫在 include/config.mk


2. 改名字
   make smdkv210single_config名字太長了 =.=,改成 make ecs_config
   修改Makefile

smdkv210single_config \
ecs_config : unconfig
    @$(MKCONFIG) $(@:_config=) arm s5pc11x smdkc110 samsung s5pc110
    @echo "TEXT_BASE = 0xc3e00000" > $(obj)board/samsung/smdkc110/config.mk
(這樣改,日後打 smdkv210single_config也會變成ecs_config,不是很好  = ="")

   其中,@$(MKCONFIG)是系统會去執行mkconfig這個script,裡面會把上述的ARCH($2),
CPU($3), BOARD($4), VENDOR($5), SOC(%6)的值寫在include/config.mk裡。
   最下方有個

echo "/* Automatically generated - do not edit */" >>config.h
echo "#include <configs/$1.h>" >>config.h
  $1.h 就是*_config。(上面有提到)
  加入「ecs_config」,必需在 include/configs/  加入ecs.h,而修改時針對ecs.h修改即可

沒有留言:

張貼留言