u-boot2010.06的移植(1)——准备移植
来源:互联网 发布:软件原型设计 编辑:程序博客网 时间:2024/06/09 19:47
由于本人比较菜,胆也比较小,所以先移植比较老的版本u-boot从smdk2410移植到2440板上。
移植前准备:
从内核文档“readme”可以看到这么一句话,Configuration depends on the combination of board and CPU type; all such information is kept in a configuration file "include/configs/.h".
先配置(eg: make smdk2410_config),再编译(make)。
note: 如果一个编译的时候出现段错误之类的问题,可能是编译器版本过低所致,换一个高一点的试试。
分析源码:
首先要了解u-boot的结构,分析Makefile,找出第一个文件和链接地址。或者直接make,在编译信息里找寻第一个文件和链接地址等信息。
入口是 start.S,从start.S进行分析,分析过程略(一个详细分析的链接地址 http://blog.csdn.net/slj_win/article/details/6952241)
分析完后,make distclean。
建立单板:
find -name *smdk2410* 添加相应的2440文件;grep smdk2410 * -rn 添加2440的配置.
或者直接在修改相应的2410文件为2440。
然后make smdk2440_config, make,出错: 出现arm-linux-gcc command not found 之类的,Google了下,是因为交叉编译器没有设置好,
echo $PATH可以找到交叉编译器的目录是 /usr/local/arm/4.3.2/bin
Makefile中查找关键字 CROSS,可以看到:
改为:CROSS_COMPILE=/usr/local/arm/4.3.2/bin/arm-linux-
make
编译成功!
将smdk2440.h中所有关于2410(CONFIG_S3C2410、CONFIG_SMDK2410)配置改为2440的(CONFIG_S3C2440、CONFIG_SMDK2440)
make 出错,出现xxx未声明之类的错误,原因自然是内核没有2440配置的代码,按错误修改代码(主要是平台结构体)。
make
成功!
移植前准备:
从内核文档“readme”可以看到这么一句话,Configuration depends on the combination of board and CPU type; all such information is kept in a configuration file "include/configs/.h".
先配置(eg: make smdk2410_config),再编译(make)。
note: 如果一个编译的时候出现段错误之类的问题,可能是编译器版本过低所致,换一个高一点的试试。
分析源码:
首先要了解u-boot的结构,分析Makefile,找出第一个文件和链接地址。或者直接make,在编译信息里找寻第一个文件和链接地址等信息。
入口是 start.S,从start.S进行分析,分析过程略(一个详细分析的链接地址 http://blog.csdn.net/slj_win/article/details/6952241)
分析完后,make distclean。
建立单板:
find -name *smdk2410* 添加相应的2440文件;grep smdk2410 * -rn 添加2440的配置.
或者直接在修改相应的2410文件为2440。
然后make smdk2440_config, make,出错: 出现arm-linux-gcc command not found 之类的,Google了下,是因为交叉编译器没有设置好,
echo $PATH可以找到交叉编译器的目录是 /usr/local/arm/4.3.2/bin
Makefile中查找关键字 CROSS,可以看到:
# load ARCH, BOARD, and CPU configuration
include $(obj)include/config.mk
export ARCH CPU BOARD VENDOR SOC
# set default to nothing for native builds
ifeq ($(HOSTARCH),$(ARCH))
CROSS_COMPILE ?=
endif
改为:CROSS_COMPILE=/usr/local/arm/4.3.2/bin/arm-linux-
make
编译成功!
将smdk2440.h中所有关于2410(CONFIG_S3C2410、CONFIG_SMDK2410)配置改为2440的(CONFIG_S3C2440、CONFIG_SMDK2440)
make 出错,出现xxx未声明之类的错误,原因自然是内核没有2440配置的代码,按错误修改代码(主要是平台结构体)。
make
成功!
0 0
- u-boot2010.06的移植(1)——准备移植
- u-boot2010.06的移植(4)——支持norflash
- U-Boot2010.06移植总结
- U-Boot2010.06移植(2440)-----基本移植
- u-boot2010.06的移植(5)——支持nandflash、分区及环境参数的设置
- u-boot2010.06的移植(2)—— 时钟、SDRAM、UART
- u-boot2010.06的移植(3)——支持nand启动
- u-boot2010.06的移植(6)——支持yaffs下载
- Mini2440 u-boot2010-3的移植
- U-Boot2010.06移植(2440)-----移植NorFlash驱动
- U-Boot2010.06移植(2440)-----移植NandFlash驱动
- U-Boot2010.06移植(2440)-----移植网卡DM9000驱动
- U-Boot2010.06移植(2440)-----添加MTD(NAND)分区
- U-Boot2010.06移植(2440)-----添加支持YAFFS2文件系统
- U-Boot移植准备
- u-boot移植随笔:u-boot2010.09移植到8MB Nor Flash的S3C2440,第一步搞定(补记)
- u-boot移植--1、前期准备及时钟的修改
- fl2440 移植u-boot-2010.09全纪录1---------准备移植
- PhotoView源码分析(3)
- 3Sum Closest
- 收藏的人工智能相关网站
- IOS_TextField,UIButton
- 字符串复制函数strcpy的实现算法
- u-boot2010.06的移植(1)——准备移植
- Android:使用fragment(碎片)—让你的应用更灵活(一)简单运用
- 加载上传图片,获取文件名、文件路径并保存到程序的文件夹中
- 数据结构 - 内存
- 漫谈C指针第五讲---声明指针常量
- 最大子数组乘积算法
- postgresql 可调试
- 国内一些热门的在线教育网站
- Git 命令及工具