您的位置:首页 > 其它

[嵌入式]移植到纯净版本的uboot1.1.6过程--OK6410

2013-03-06 16:24 344 查看
学习OK6410时发现uboot1.1.6_256M中的文件与uboot1.1.6源中的文件配置变化很大,所以,我这里自己在uboot1.1.6中添加,并且己经成功。

1. 主Makefile文件

.........................

1.1 lib支持库

在LIBS += drivers/nand_legacy/libnand_legacy.a下面

# add to support onenand. by scsuh

LIBS += drivers/onenand/libonenand.a

ifeq ($(CPU),mpc83xx)

LIBS += drivers/qe/qe.a

endif

1.2 交叉编译工具

CROSS_COMPILE=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-

1.3 配置环境

smdk6410_config :unconfig

@$(MKCONFIG) $(@:_config=) arm s3c64xx smdk6410 samsung s3c6410

可以得到ARCH=arm;CPU=s3c64xx;BOARD=smdk6410;vendor=samsung;soc=s3c6410;

1.4 mkconfig添加

if [ "$3" = "s3c64xx" ] ; then

rm -f regs.h

ln -s $6.h regs.h

rm -f asm-$2/arch

ln -s arch-$3 asm-$2/arch

fi

2.添加文件

board/samsung/smdk6410/*;

include/configs/smdk6410.h; ->

cpu/s3c64xx/*;

include/s3c6410.h-->regs.h(linux shell: ln -s $6.h regs.h)

include/s3c64x0.h

include/s3c6400.h

include/asm-arm/arch-s3c64xx/*; ->通过mkconfig会创建链接文件arch

修改文件

include/linux/mtd/*;

include/linux/mmc/*;

include/movi.h

include/div64.h

drivers/mtd/*;

drivers/nand/*;

drivers/onenand/*;

drivers/qe/*;

common/cmd_nand.c

common/cmd_date.c

rtc/s3c64xx_rtc.c

lib_generic/div64.c

4.编译

make smdk6410_config

make CROSS_COMPILE=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-

附:有可能出现: undefined reference to 'raise'

就替换lib_arm/*;

5.启动kernel

替换common文件 12个新增

cmd_movi.c

cmd_onenand.c

cmd_usbd.c

cyclon2.c

env_movi.c

env_onenand.c

....

还须修改cmd_bootm.c

---------更新时间 2013-3-6
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: