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开发板,下节继续。
- 2013.04-rc2uboot移植(建立编译模板)
- AT91RM9200Linux移植笔记(一)-交叉编译环境的建立
- 如何使用编译开关建立可移植的代码
- u-boot2010.03 移植篇(一)-----建立编译目标
- u-boot2010.03 移植篇(一) 建立编译目标
- u-boot2010.03 移植篇(一)-----建立编译目标
- u-boot2010.03 移植篇(一)-----建立编译目标
- u-boot2010.03 移植篇(一)-----建立编译目标
- u-boot-2009.11移植(适用于TQ2440和MINI2440)第一篇:建立开发板文件,测试编译环境
- arm-gdb移植(编译)
- 移植qt-4.8.5至 mini2440建立交叉编译及qt运行环境
- u-boot-2016.05移植:(1)、建立新板并配置,使能正常编译通过
- u-boot-2016.05移植:(1)、建立新板并配置,使能正常编译通过
- Windows下编译、移植、使用ffmpeg(移植篇)
- Helix移植(三)编译目标程序
- netperf2 arm 移植(1:编译)
- 交叉编译SDL (移植到mini2440)
- mingw编译ffmpeg(移植到android)
- linux命令学习--基础
- 让我们彻底看清MVC、MVP
- sklearn系列之----线性回归
- T0外部计数输入
- 20个常用的正则表达式
- 2013.04-rc2uboot移植(建立编译模板)
- Linux课堂笔记(4)
- 加密锁复制技术 软件分析技术
- [置顶] Android Notification和权限机制探讨
- 照相机根据触摸围绕目标旋转
- PHP 数组和字符串互相转换实现方法
- 内存泄漏及管理(02)-内存泄漏的分析和处理
- Linux 动态库与静态库制作及使用详解
- call与apply(2) //有疑问