一、准备
1、u-boot-2010.06源码
2、arm-linux-gcc-4.4.3
二、移植
1、顶层Makefile
打开uboot顶层目录的Makefile,在其中搜索smdk2410:
smdk2410_config:unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
我们在搜索到得这条规则后面添加我们自己的一项规则:
mini2440_config:unconfig @$(MKCONFIG) $(@:_config=) arm arm920t mini2440 samsung s3c24x0
2、建立mini2440头文件
在include/configs下执行命令:
cp smdk2410.h mini2440.h
3、建立mini2440工作目录:
//创建目录 mkdir -p board/samsung/mini2440 //以smdk2410为模板,复制文件到我们的mini2440目录 cp board/samsung/smdk2410/* board/samsung/mini2440/ //改名 mv board/samsung/mini2440/smdk2410.c board/samsung/mini2440/mini2440.c
修改mini2440/Makefile
//打开该目录下的Makefile,修改生成的目标文件 COBJS := smdk2410.o flash.o 改成: COBJS := mini2440.o flash.o
4、在uboot的顶层目录下执行命令:
make mini2440_config&&make
如果出现错误:undefined reference to `cs8900_initialize'
则在include /configs/mini2440.h中:
#define CONFIG_CS8900/* we have a CS8900 on-board */
//注释掉!! //#define CONFIG_CS8900/* we have a CS8900 on-board */
最后出现:arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
说明已经生成了烧写镜像u-boot.bin