您的位置:首页 > 其它

uboot 的初步移植

2013-08-31 16:13 141 查看
两个地方需要注意:

1,/linux/uboot/u-boot-2013.04-rc1/board/samsung/smdk6400

2,/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx

没有6410,只能在6400的基础上进行修改.

1,修改Makefile

#########################################################################

## ARM1176 Systems

#########################################################################

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

@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

@if [ -z "$(findstring smdk6410_noUSB_config,$@)" ]; then\

echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\

else \

echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\

fi

@$(MKCONFIG) smdk6410 arm arm1176 smdk6410 samsung s3c64xx

@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

#########################################################################

2,创建文件夹

cd/board/samsung

mkdir smdk6410

3,复制6400的文件给6410

cp * /smdk6410

总这6个文件:

config.mk

Makefile

smdk6400_nand_spl.c

lowlevel_init.S

smdk6400.c

u-boot-nand.lds

3,修改文件名字为6410

使用rename

rename 's/6400/6410/' *

使用mv

mv smdk6400_nand_spl.c smdk6410_nand_spl.c

mv smdk6400.c smdk6410.c

4,修改

a), smdk6410.c 里边的6410的信息

b), Makefile里边的6410的信息

5,建立nand_flash的代码

nand_spl ( /linux/uboot/u-boot-2013.04-rc1/nand_spl/board/samsung/smdk6400$ )

复制smdk6400的代码,到smdk6410中,然后修改Makefile

6,修改 smdk6410.c 里边的头文件 #include <asm/arch/s3c6400.h> 的.h文件

位置在 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/include/asm/arch-s3c64xx$

cp s3c6400.h s3c6410.h

然后修改 s3c6410.h的文件

位置1: physical memory map

7,修改cpu的东西

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$

修改Makefile

COBJS-$(CONFIG_S3C6400) += cpu_init.o speed.o

添加一条

COBJS-$(CONFIG_S3C6410) += cpu_init.o speed.o

8,修改smdk6400.h

~/linux/uboot/u-boot-2013.04-rc1/include/configs$

cp smdk6400.h smdk6410.h

其他的6400改为6410

修改ddr的大小 : phys_SDRAM_1_size 0x08000000

9,修改 smdk6410_nand_spl.c

位置 : ~/linux/uboot/u-boot-2013.04-rc1/board/samsung/smdk6410$

全部换成6410

10,修改cpu_init.S

位置 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$

11, 修改 reset.S

位置 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$

11.1 speed.c

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$

11.2 timer.c

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$

12, 修改 s3c64xx-hcd.c

位置 : ~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$

13, 修改 s3c64xx.c

位置 : ~/linux/uboot/u-boot-2013.04-rc1/drivers/mtd/nand$

14, s3c64xx.c

~/linux/uboot/u-boot-2013.04-rc1/drivers/serial$

15,尝试编译一下

make smdk6410_config

make all

16,保留6400的架构,需要做的修改

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/cpu_init.S

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/reset.S

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/speed.c

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/timer.c

~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$ / s3c64xx-hcd.c

~/linux/uboot/u-boot-2013.04-rc1/drivers/mtd/nand$ s3c64xx.c

~/linux/uboot/u-boot-2013.04-rc1/drivers/serial$ s3c64xx.c

#indef CONFIG_S3C6400

#include <asm/arch/s3c6400.h>

#else

#include <asm/arch/s3c6410.h>

#endif

17,修改speed.c 里边的代码

18, common.h

~/linux/uboot/u-boot-2013.04-rc1/include$

添加6410的config_6410

defiend(CONFIG_S3C6410) || \

19, ohci-hcd.c

~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$

defiend(CONFIG_S3C6410) || \

20,再去编译

先清除一下 : make distclean

21,错误 处理

a)

arm-linux-ld : u-boot.lds : 19 : syntax error

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/

arm-linux-ld.lds

aligh 的大小写

b) u-boot-spl

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/ Makefile

在S(obj start.S)后添加

S(obj) crt0.S:

tab键 @rm -f $@

@ln -s $(TOPDIR)/arch/arm/cpu/arm1176/start.S $@

c)

~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/ Makefile

添加 start.o
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: