相关系列阅读: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
联系方式: 97164811@qq.com一切版权均有作者所有,欢迎转载,请指明出处,如何修改请与本人联系,谢谢开始教程之前.你需要下载源码,解压....此处略过千万行~~源码为uboot2010.03这个..别整错了.错了也没事,都差不多~U-Boot源代码下载地址 http://www.linuxidc.com/Linux/2011-07/38897.htm这里,我们直接打开Makefile,找到smdk6400_config,根据6400 添加6410 的目标......如下:
- #########################################################################
- ## ARM1176 Systems
- #########################################################################
- smdk6400_noUSB_config
- smdk6400_config : unconfig
- @mkdir -p $(obj)include $(obj)board/samsung/smdk6400
- @mkdir -p $(obj)nand_spl/board/samsung/smdk6400
- @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
- @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then
- echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6400/config.tmp;
- $(MKCONFIG) $(@:_config=) arm arm1176 smdk6400 samsung s3c64xx;
- else
- echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6400/config.tmp;
- $(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6400 samsung s3c64xx;
- fi
- @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
- smdk6410_noUSB_config
- smdk6410_config : unconfig
- @mkdir -p $(obj)include $(obj)board/samsung/smdk6410
- @mkdir -p $(obj)nand_spl/board/samsung/smdk6410
- @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
- @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then
- echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;
- $(MKCONFIG) $(@:_config=) arm arm1176 smdk6410 samsung s3c64xx;
- else
- echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;
- $(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6410 samsung s3c64xx;
- fi
- @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
接着修改交叉编译器:
- # set default to nothing for native builds
- ifeq ($(HOSTARCH),$(ARCH))
- CROSS_COMPILE ?= arm-linux-
- endif