boot2010.03 移植篇(一)

u-boot2010.03 移植篇(一)-----建立编译目标
u-boot2010.03 移植篇(二)-----修改start.S,支持nand启动
u-boot2010.03 移植篇(三)-----修正配置文件.解决内存大小显示问题
u-boot2010.03 移植篇(四)-----支持DM9000,实现tftp下载

经过一阵子的分析篇,下面开始移植篇,这些要讲的东西并不是特别多,主要是对建立说s3c6410编译板的支持..让我们可以编译出自己的image
好了,在移植篇开始之前,最好先看一下分析篇..对uboot的编译目标的选择,以及编译目标的过程有个大致的了解..不至于无从下手....

u-boot2010.03 Makefile分析
u-boot2010.03 配置编译目标分析

下面开始 移植篇(一)-----修改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源代码下载地址

这里,我们直接打开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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/44167a101048d1d259a4a6798bdecb4c.html