现在的位置: 首页 > 综合 > 正文

【原创】u-boot-2011.03在mini2440/micro2440上的移植(一)——准备工作

2013年12月07日 ⁄ 综合 ⁄ 共 1997字 ⁄ 字号 评论关闭

      uboot自2010.09版以后有比较大的变化,首先是不再在顶层Makefile中配置板级支持文件,其次是重写了start.S和board.c,还有就是提供了对S3C2440的部分支持,使得在移植时难度减小。但由于是新版本,bug也有不少。本文尝试对u-boot-2011.03进行移植,主要参考了bscbem的日志和L_Backkom的专栏,在此表示感谢。
bscbem的日志:
http://my.chinaunix.net/space.php?uid=24319701&do=blog&id=136249
L_Backkom的专栏:http://blog.csdn.net/L_Backkom

 

1.1 移植环境

u-boot版本:u-boot-2011-03
Linux平台:Fedora 14
交叉编译工具:arm-linux-gcc-4.3.2
arm开发板:micro2440
        CPU:S3C2440
        SDRAM:64M
        Nor Flash:2M
        Nand Flash:256M
        网卡:DM9000EP

 

1.2 移植目标

支持Nand启动
支持Nand读写
支持yaffs写入
支持tftp下载

 

1.3 删减u-boot文件(可不做)

(1)删除arch目录下除arm目录以外的所有目录
(2)删除arm/cpu目录下除arm920tmulu以外的所有目录
(3)删除arch/arm/cpu/arm920t目录下除s3c24x0目录以外的所有目录(文件不要删)
(4)删除arch/arm/include/asm目录下除arch‐s3c24x0外的所有arch‐xxxx目录(文件不要删)
(5)删除board目录下除samsung目录以外的所有目录
(6)删除board/samsung目录下除smdk2410目录以外的所有目录
(7)删除include/configs目录下除smdk2410.h文件以外的所有头文件。

 

1.4 建立Micro2440配置

(1)[408@WZC u-boot-2011.03]$ vim boards.cfg
添加一行
micro2440 arm arm920t - samsung s3c24x0
【说明】
我们是基于smdk2410开发板移植,我们仍然将开发板文件建立在board/samsung下

 

(2)创建板级支持文件
[408@WZC u-boot-2011.06]$ cp -r board/samsung/smdk2410 board/samsung/micro2440
[408@WZC u-boot-2011.06]$ cd board/samsung/micro2440/
[408@WZC micro2440]$ mv smdk2410.c micro2440.c
[408@WZC micro2440]$ vim Makefile
COBJS := smdk2410.o flash.o改为COBJS := micro2440.o flash.o
[408@WZC u-boot-2011.06]$ cd ../../..
[408@WZC u-boot-2011.06]$ cp include/configs/smdk2410.h include/configs/micro2440.h
[408@WZC u-boot-2011.03]$ vim include/configs/micro2440.h
修改一:
#define CONFIG_SYS_PROMPT "[Micro2440]# " /* Monitor Command Prompt */
修改二:
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)

【说明】
如果不定义修改二的内容,编译时就会出错,这是新版本的一个bug。
这里需要注意,直接复制内容到micro2440.h可能导致make通不过,提示有garbage,我想可能是因为windows和Linux回车编码不同造成的。

 

 

(3)测试编译环境
[408@WZC u-boot-2011.06]$ make micro2440_config
Configuring for micro2440 board...
[408@WZC u-boot-2011.06]$ make
Generating include/autoconf.mk
Generating include/autoconf.mk.dep
......
......
arm-linux-objcopy -O srec u-boot u-boot.srec
arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin

 

 

 

 

 

 

抱歉!评论已关闭.