歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

u-boot2010.03 移植篇(一)-----建立編譯目標

相關系列閱讀:

u-boot2010.03 移植篇(一)-----建立編譯目標 http://www.linuxidc.com/Linux/2012-11/73814.htm
u-boot2010.03 移植篇(二)-----修改start.S,支持nand啟動 http://www.linuxidc.com/Linux/2012-11/73815.htm
u-boot2010.03 移植篇(三)-----修正配置文件.解決內存大小顯示問題 http://www.linuxidc.com/Linux/2012-11/73816.htm
u-boot2010.03 移植篇(四)-----支持DM9000,實現tftp下載 http://www.linuxidc.com/Linux/2012-11/73817.htm

經過一陣子的分析篇,下面開始移植篇,這些要講的東西並不是特別多,主要是對建立說s3c6410編譯板的支持..讓我們可以編譯出自己的image
好了,在移植篇開始之前,最好先看一下分析篇..對uboot的編譯目標的選擇,以及編譯目標的過程有個大致的了解..不至於無從下手....

u-boot2010.03 Makefile分析 http://www.linuxidc.com/Linux/2012-11/73812.htm
u-boot2010.03 配置編譯目標分析 http://www.linuxidc.com/Linux/2012-11/73813.htm

下面開始 移植篇(一)-----修改Makefile,生成編譯目標---S3C6410
----------------------------------------------------------
使用環境
PC:    Ubuntu 11.04
kernel: 2.6.32-28-generic
corss:  arm-linux-gcc 4.3.2
arm:    s3c6410
uboot:  uboot-2010-03
----------------------------------------------------------
作者:    LvApp
聯系方式: [email protected]

一切版權均有作者所有,歡迎轉載,請指明出處,如何修改請與本人聯系,謝謝

開始教程之前.你需要下載源碼,解壓....此處略過千萬行~~源碼為uboot2010.03這個..別整錯了.錯了也沒事,都差不多~

U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm

這裡,我們直接打開Makefile,找到smdk6400_config,根據6400 添加6410 的目標......如下:

  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
  17. smdk6410_noUSB_config \
  18. smdk6410_config : unconfig
  19. @mkdir -p $(obj)include $(obj)board/samsung/smdk6410
  20. @mkdir -p $(obj)nand_spl/board/samsung/smdk6410
  21. @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
  22. @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then \
  23. echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
  24. $(MKCONFIG) $(@:_config=) arm arm1176 smdk6410 samsung s3c64xx; \
  25. else \
  26. echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
  27. $(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6410 samsung s3c64xx; \
  28. fi
  29. @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

接著修改交叉編譯器:

  1. # set default to nothing for native builds
  2. ifeq ($(HOSTARCH),$(ARCH))
  3. CROSS_COMPILE ?= arm-linux-
  4. endif
Copyright © Linux教程網 All Rights Reserved