分类: 嵌入式
2014-04-06 17:11:54
环境:ubuntu13.10 arm-linux-gcc4.4.1 OK6410(256M RAM ,1G SLS NAND)
1.修改U-boot-2013.04目录下的Makefile文件
1.1 在CROSS_COMPILE ?=这里修改:
CROSS_COMPILE =/usr/local/arm/4.4.1/bin/arm-linux-
1.2 把makefile里面的6400全部替换成6410
2.文件的复制和修改
2.1 拷贝board/samsung/smdk6400目录里的所有文件 到board/samsung/smdk6410目录中
更改board/samsung/smdk6410目录下smdk6400.c 为smdk6410.c ,
更改board/samsung/smdk6410目录下smdk6400_nand_spl.c为smdk6410_nand_spl.c
修改board/samsung/smdk6410目录下所有文件,将所有文件中的6400替换为6410
修改board/samsung/smdk6410目录下u-boot-nand.lds文件,把文件中小写的align改成大些ALIGN
修改board/samsung/smdk6410目录下lowlevel_init.S文件225行ldr r1, =0x200203为ldr r1, =0x80200203
修改board/samsung/smdk6410目录下lowlevel_init.S文件,参考OK6410的管脚设置把
点击(此处)折叠或打开
再把
点击(此处)折叠或打开
2.2 拷贝nand_spl/board/samsung/smdk6400目录里的所有文件 到 nand_spl/board/samsung/smdk6410目录中
修改nand_spl/board/samsung/smdk6410目录下所有文件,将所有文件中的6400替换为6410
修改nand_spl/board/samsung/smdk6410目录下Makefile文件,40行修改为SOBJS = start.o cpu_init.o lowlevel_init.o crt0.o
修改nand_spl/board/samsung/smdk6410目录下Makefile文件,在
点击(此处)折叠或打开
注意@前为tab键
修改arch/arm/crt0.S 文件,把
点击(此处)折叠或打开
2.3 把arch/arm/include/arch-s3c64xx目录里的s3c6400.h拷贝一份到当前目录,并重命名为s3c6410.h
把s3c6410.h中的所有6400替换成6410
把820行开始的
点击(此处)折叠或打开
用以支持256MB内存
2.4 把arch/arm/cpu/arm1176/s3c64xx/Makefile 中的COBJS-$(CONFIG_S3C6400)改为COBJS-$(CONFIG_S3C6410)
修改arch/arm/cpu/arm1176/s3c64xx目录下所有文件,将所有文件中的#include
点击(此处)折叠或打开
2.5 把include/目录下的common.h文件的第644行 defined(CONFIG_S3C6400) || \ 下添加defined(CONFIG_S3C6410) || \
把drivers/usb/host目录下的ohci-hcd.c文件的第69行 defined(CONFIG_S3C6400) || \ 下添加defined(CONFIG_S3C6410) || \
2.6 进入drivers/usb/host目录, 把s3c64xx-hcd.c中的#include
进入drivers/mtd/nand目录, 把s3c64xx.c中的#include
进入drivers/serial目录,
把s3c64xx.c中的#include
2.7 在arch/arm/cpu/arm1176/s3c64xx/目录下建立s3c6410_sdboot.c文件,内容为
点击(此处)折叠或打开
2.8 修改 arch/arm/cpu/arm1176/s3c64xx/目录下的Makefile的COBJS-$(CONFIG_S3C6410) += cpu_init.o speed.o下面添加
COBJS-$(CONFIG_BOOT_SD) += s3c6410_sdboot.o
修改 arch/arm/cpu/arm1176/目录下的Start.S,把
点击(此处)折叠或打开
2.9 修改board/samsung/smdk6410目录下u-boot-nand.lds文件 ,在
arch/arm/cpu/arm1176/start.o (.text)下添加
board/samsung/smdk6410/libsmdk6410.o (.text)
2.10 把include/configs目录里的smdk6400.h拷贝一份到当前目录,并重命名为smdk6410.h
在smdk6410.h的41行下添加#define
CONFIG_BOOT_SD
把smdk6410.h中的所有6400替换成6410
166行改为#define
PHYS_SDRAM_1_SIZE 0x10000000 /* 256 MB in Bank #1 */
3.编译和结果
执行make distclean
执行make smdk6410_config
执行make all
把编译出的u-boot.bin通过SD-write软件烧写到SD卡,开发板拨到SD卡启动,DNW显示如下
ymseven2014-05-08 14:33:55
naiveboy520:请问U-boot2013.04 哪有 board/samsung/smdk6400文件夹呀.
确实有这个文件夹,你仔细看看
回复 | 举报