uboot 的初步移植

两个地方需要注意:

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














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值