分类: 嵌入式
2011-04-16 13:25:17
参考:http://blog.csdn.net/IT_114/archive/2011/03/21/6264351.aspx
http://www.cublog.cn/u3/101649/showart.php?id=2105215
在 上面两篇文章 的指导下,进行了自己的移植,我把自己移植过程中相同或不同的地方写下, 留个记录,方便来者。
1、环境说明:
主机:ubuntu10.10
交叉编译:arm-linux-gcc 4.5.1
开发板文件系统:root-2.6.33-qt.tar.bz2 打包好的
开发板内核 :linux-2.6.33-qt.tar.bz2
开发板:TQ2440 nandflash 256MB 东华3.5寸屏
uboot源码: u-boot-2010.06-rc1.tar.bz2
CPU: S3C2440
SDRAM: 48LC16M16A 64MB
NOR FLASH EN29LV160AB 2MB
FLASH K9F2G08UDA 256MB
2、解压 tar jxvf u-boot-2010.06.tar.bz2
3、进入uboot cd u-boot-2010.06
4、删减uboot
进入/board,留下samsung,其它全部删除
进入/arch,留下arm,其它全部删除
进入/arch/arm/cpu,留下arm920t,其它全部删除
5、建立自己的DEMO板
cd /board/samsung
mkdir smdk2440
cp -rf smdk2410/* smdk2440/ //将2410下所有的代码复制到2440下
cd smdk2440 //进入smdk2440目录
mv smdk2410.c smdk2440.c //将smdk2440下的smdk2410.c改名为smdk2440.c
然后在文件夹samsung里留下smdk2440,其它全部删除
cp include/configs/smdk2410.h include/configs/smdk2440.h //建立2440头文件
在include/configs下留下smdk2440.h, 其它全部删除
vi board/samsung/smdk2440/Makefile //修改smdk2440下Makefile的编译项,如下:
COBJS := smdk2440.o flash.o //修改第28行因在smdk2440下我们将smdk2410.c改名为smdk2440.c
6、修改u-boot跟目录下的Makefile文件。查找到smdk2410_config的地方,在他下面按照smdk2410_config的格式建立my2440_config的编译选项,另外还要指定交叉编译器,修改159行
注意这里: 是有问号的
CROSS_COMPILE ?= arm-linux- //指定交叉编译器为arm-linux-gcc
smdk2410_config : unconfig //2410编译选项格式
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
smdk2440_config : unconfig //修改蒂3054行,2440编译选项格式
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2440 samsung s3c24x0
*说明:arm :CPU的架构(ARCH)
arm920t:CPU的类型
smdk2440 :对应在board目录下建立新的开发板项目的目录
samsung:新开发板项目目录的上级目录,如直接在board下建立新的开发板项目的目录,则这里就为NULL
s3c24x0:CPU型号
*注意:编译选项格式的第二行要用Tab键开始,否则编译会出错
7、测试编译新建的smdk2440开发板项目
在uboot根目录测试
make mrproper (或make distclean 修改顶层Makefile等相关文件必须执行此步骤)
make smdk2440_config
make all 即可在uboot根目录下生成bin文件