欢迎来到天天文库
浏览记录
ID:25828446
大小:1.59 MB
页数:108页
时间:2018-11-23
《嵌入式Linux之我行全集 详细uboot移植 免费下载.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一) 2009-11-2710:46:35分类: 嵌入式嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。·共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、移植环境·主 机:VMWare--Fedora9·开发板:Mini2440--64MBNand,Kernel:2.6.30.4·编译器:arm-l
2、inux-gcc-4.3.2.tgz·u-boot:u-boot-2009.08.tar.bz2二、移植步骤本次移植的功能特点包括:·支持NandFlash读写·支持从Nor/NandFlash启动·支持CS8900或者DM9000网卡 ·支持Yaffs文件系统 ·支持USB下载(还未实现)1. 了解u-boot主要的目录结构和启动流程,如下图。 u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成; u-boot的stage2代码通常放在lib_xxxx/board.c
3、文件中,他用C语言写成。 各个部分的流程图如下: 2.建立自己的开发板项目并测试编译。 目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有2440,所以我们就在这里建立自己的开发板项目。 1)因2440和2410的资源差不多,主频和外设有点差别,所以我们就在board/samsung/下建立自己开发板的项目,取名叫my2440#tar-jxvfu-boot
4、-2009.08.tar.bz2 //解压源码#cdu-boot-2009.08/board/samsung/ //进入目录#mkdirmy2440 //创建my2440文件夹 2)因2440和2410的资源差不多,所以就以2410项目的代码作为模板,以后再修改#cp-rfsmdk2410/*my2440/ //将2410下所有的代码复制到2440下#cdmy2440 //进入my2440目录#mvsmdk2410.cmy24
5、40.c //将my2440下的smdk2410.c改名为my2440.c#cd../../../ //回到u-boot根目录#cpinclude/configs/smdk2410.hinclude/configs/my2440.h //建立2440头文件#geditboard/samsung/my2440/Makefile //修改my2440下Makefile的编译项,如下:COBJS := my2440.oflash.o //因在my2440下我们将smdk2410
6、.c改名为my2440.c3)修改u-boot跟目录下的Makefile文件。查找到smdk2410_config的地方,在他下面按照smdk2410_config的格式建立my2440_config的编译选项,另外还要指定交叉编译器#geditMakefileCROSS_COMPILE?=arm-linux- //指定交叉编译器为arm-linux-gcc smdk2410_config : unconfig //2410编译选项格式 @$(MKCONFIG)$(@:_config=)
7、 armarm920tsmdk2410samsungs3c24x0 my2440_config : unconfig //2440编译选项格式 @$(MKCONFIG)$(@:_config=) armarm920t my2440samsungs3c24x0 *说明:arm :CPU的架构(ARCH) arm920t:CPU的类型 my2440:对应在board目录下建立新的开发板项目的目录 samsung:新开发板项目目录的上级目录,如直接在board下建立新的
8、开发板项目的目录,则这里就为NULL s3c24x0:CPU型号*注意:编译选项格式的第二行要用Tab键开始,否则编译会出错4)测试编译新建的my2440开发板项目#makemy2440_config //如果出现Configuringformy2440board...则表示设置正确#make
此文档下载收益归作者所有