2013.04-rc2uboot移植(建立编译模板)

来源:互联网 发布:域名是什么样子 编辑:程序博客网 时间:2024/05/22 11:52

学习了2个多月的uboot移植,期间经历了很多,移植的平台是飞凌的ok6410A开发板,再此记下移植过程中的笔记,供给网友参考。从uboot网站下载u-boot-2013.04-rc1.tar.bz2

1、解压源码文件,得到u-boot-2013.04-rc1文件夹

2、精简uboot源码文件,删除无关的文件。进入根目录下的board目录,删除除了samsung目录以外的所有文件,仅保留samsung目录;进入samsung目录,仅保留common和smdk6400目录。

3、回到根目录,进入到arch目录,仅保留arm目录,接着进入arm目录,删除dts和imx-common目录。进入cpu目录,仅保留arm1176目录和uboot.lds文件。打开arm1176目录,删除bcm2835和tnetv107x目录;回到arch/arm目录,进入到include/asm目录,删除以arch开头的文件所有文件(arch-s3c64xx目录除外),其它的不要删除。

4、回到根目录,进入到include/configs目录,以.h结尾的文件,仅保留smdk6400.h

5、回到根目录,进入nand_spl/board目录,仅保留samsung目录。至此uboot精简工作已经完成。

6、把精简后的uboot拷贝到ubuntu系统,先执行make distclean,再执行make smdk6400_config,再执行make all,显示有一个错误。修正方法为board/samsung/smdk6400 中的u-boot-nand.lds中的align小写改成大写,再次编译,仍然有错误,这个错误和nand_spl机制有关。修正方法为nand_spl/board/samsung/smdk6400/Makefile 中SOBJS= start.o cpu_init.o lowlevel_init.o 后面加上crt0.o,在

# from cpu directory
$(obj)start.S:
@rm -f $@
@ln -s $(TOPDIR)/arch/arm/cpu/arm1176/start.S $@后添加

$(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

修改成

#ifndef CONFIG_NAND_spl

bl coloured_LED_init
bl red_led_on

#endif

再次编译,大功造成。但这个模板是针对6400平台,还不支持我们的ok6410A开发板,下节继续。


0 0
原创粉丝点击