歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> u-boot2010.03 配置編譯目標分析

u-boot2010.03 配置編譯目標分析

日期:2017/3/1 10:07:30   编辑:Linux編程

該系列教程會根據uboot的編譯過程進程分析,如何編譯,那麼將會如何分析這些流程
此處我還沒有增加6410的支持,先看6400 的過程,因為還沒有到增加的地方,分析完整個流程之後,會寫如何移植uboot到s3c6410的。知道了工作的流程,再去移植會事半功倍的。

拿到uboot首先會修改編譯的目標:

make smdk6400_config

對執行如下的目標

  1. #########################################################################
  2. ## ARM1176 Systems
  3. #########################################################################
  4. smdk6400_noUSB_config \
  5. smdk6400_config : unconfig
  6. @mkdir -p $(obj)include $(obj)board/samsung/smdk6400
  7. @mkdir -p $(obj)nand_spl/board/samsung/smdk6400
  8. @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
  9. @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then \
  10. echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
  11. $(MKCONFIG) $(@:_config=) arm arm1176 smdk6400 samsung s3c64xx; \
  12. else \
  13. echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
  14. $(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6400 samsung s3c64xx; \
  15. fi
  16. @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

這裡主要看的是如下2句

  1. echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
  2. $(MKCONFIG) $(@:_config=) arm arm1176 smdk6400 samsung s3c64xx; \

首先會將RAM_TEXT = 0x57e00000 寫入到$(obj)board/samsung/smdk6400/config.tmp 這個文件內
$(obj) 是目標的編譯生成的路勁或者是當前UBOOT的目錄,這就要看你有沒有指定編譯目錄了

重點分析$(MKCONFIG) $(@:_config=) arm arm1176 smdk6400 samsung s3c64xx; \
會調用$(MKCONFIG) 而 MKCONFIG := $(SRCTREE)/mkconfig
也就是說最終會變成如下形式
mkconfig smdk6400 arm arm1176 smdk6400 samsung s3c64xx

下面就得進入mkconfig的代碼內進行分析。。記錄上面的參數,請大家打開對應的文件,一步步的看著然後分析

首先會將RAM_TEXT = 0x57e00000 寫入到$(obj)board/samsung/smdk6400/config.tmp 這個文件內
$(obj) 是目標的編譯生成的路勁或者是當前UBOOT的目錄,這就要看你有沒有指定編譯目錄了

重點分析$(MKCONFIG) $(@:_config=) arm arm1176 smdk6400 samsung s3c64xx; \
會調用$(MKCONFIG) 而 MKCONFIG := $(SRCTREE)/mkconfig
也就是說最終會變成如下形式
mkconfig smdk6400 arm arm1176 smdk6400 samsung s3c64xx

下面就得進入mkconfig的代碼內進行分析。。記錄上面的參數,請大家打開對應的文件,一步步的看著然後分析

Copyright © Linux教程網 All Rights Reserved