OK6410移植UBOOT

u-boot-2013.04-rc1 在ok6410的移植

#1.解压
tar -jxvf u-boot-2013.04-rc1.tar.bz2

#2.删除不必要的文件

/arch/下除arm 
/arch/arm/cpu/下除arm1176和uboot.lds
/arch/arm/include/asm/arch-* 除 arch-64xx
/board/下除samsung 
/board/samsung/下smdk*除smdk6400
/nand_spl/board/下除samsung

/include/configs/下除smdk6400.h

#3.准备ok6410的单板信息

mv board/samsung/smdk6400 board/samsung/ok6410
mv board/samsung/ok6410/smdk6400_nand_spl.c board/samsung/ok6410/ok6410_nand_spl.c 
mv board/samsung/ok6410/smdk6400.c board/samsung/ok6410/ok6410.c 
board/samsung/ok6410/ok6410.c  中 smdk6400 改为 ok6410  s3c6400 -> s3c6410
board/samsung/ok6410/makefile  中 smdk6400 改为 ok6410

#4.建立nand_spl

mv nand_spl/board/samsung/smdk6400 nand_spl/board/samsung/ok6410
nand_spl/board/samsung/ok6400/makefile 中 smdk6400 改为 ok6410

#5.建立头文件

mv arch/arm/include/asm/arch-s3c64xx/s3c6400.h arch/arm/include/asm/arch-s3c64xx/s3c6410.h 
arch/arm/include/asm/arch-s3c64xx/s3c6410.h 中
#define DMC1_MEM_CFG	0X0001001A	/* burst 4, 14-bit row, 10-bit col */
#define DMC1_MEM_CFG2	0XB45
#define DMC1_CHIP0_CFG	0X150F0		/* 0X5000_0000~0X5FFF_FFFF(256MB) */

mv include/configs/smdk6400.h	include/configs/ok6410.h
include/configs/ok6410.h 中 S3C6400 改为 S3C6410
#define CONFIG_SYS_PROMPT	"ok6410#"
#define CONFIG_IDENT_STRING	"for ok6410"
#define PHYS_SDRAM_1_SIZE 	0x10000000	/* 256MB */

#6.处理器makefile
arch/arm/cpu/arm1176/s3c64xx/makefile 中 S3C6400 改为 S3C6410

#7.其他

ok6410.c 和 lowlevel_init.S 中 smdk6400 -> ok6410 s3c6400 -> s3c6410

arch/arm/cpu/arm1176/s3c64xx中
cpu_init.S reset.S speed.c timer.c

drivers/usb/host/s3c64xx-hcd.c
drivers/mtd/nand/s3c64xx.c
drivers/serial/s3c64xx.c

include/common.h		CONFIG_S3C6400 -> CONFIG_S3C6410
drivers/usb/host/ohci-hcd.c	CONFIG_S3C6400 -> CONFIG_S3C6410

#8.顶层makefile
SMDK6400 -> OK6410

#9.编译

export BUILD_DIR=./build
make ok6410_config
make all

DEBUG:

#arm-linux-ld:/home/forlinx/u-boot/u-boot-2013.04-rc1/build/u-boot.lds:19: syntax error
/home/forlinx/u-boot/u-boot-2013.04-rc1/board/samsung/ok6410/u-boot-nand.lds 中
align -> ALIGN

#/home/forlinx/u-boot/u-boot-2013.04-rc1/build/nand_spl/board/samsung/ok6410/start.S:227: undefined reference to `_main'
nand_spl/board/samsung/ok6410/Makefile 中
SOBJS	= start.o cpu_init.o lowlevel_init.o crt0.o

$(obj)crt0.S:
	@rm -f $@
	@ln -s $(TOPDIR)/arch/arm/lib/crt0.S $@

/arch/arm/lib/crt0.S 中注释
	@bl coloured_LED_init
	@bl red_led_on

#10.MMC启动

编写 arch/arm/cpu/arm1176/s3c64xx/s3c6410_sdboot.c
arch/arm/cpu/arm1176/s3c64xx/Makefile中
COBJS-$(CONFIG_S3C6410)	+= cpu_init.o speed.o 
COBJS-$(CONFIG_BOOT_SD)	+= s3c6410_sdboot.o
COBJS-y	+= timer.o init.o
arch/arm/cpu/arm1176/start.S中
#if defined(CONFIG_BO
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值