基于S3C2440_uboot2010.06的移植手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

目录说明..................................................................................................................................................2准备工作...........................................................................................................................................2增加对S3C2440平台的支持........................................................................................................4增加NorFlash驱动支持................................................................................................................12添加NAND驱动...........................................................................................................................14增加对NAND启动方式支持.......................................................................................................20加入网卡DM9000驱动支持........................................................................................................31加入MTD(NAND)分区............................................................................................................36启动zImage内核的支持..............................................................................................................38USB设备驱动支持.........................................................................................................................45烧写YAFFS2文件系统支持........................................................................................................52使U-BOOT支持jffs2文件系统.....................................................................................................56实现Tab键命令自动补齐、上下箭头键调用历史命令.............................................................57修改命令提示符.............................................................................................................................57添加启动菜单.................................................................................................................................57添加LCD驱动和LOGO制作.........................................................................................................61附录一深度分析NandFlash—控制器参数TACLS、TWRPH0和TWRPH1的确定.....................71附录二CONFIG_DM9000_BASE值的确定....................................................................................74附录三全局配置选项说明.............................................................................................................76附录四Uboot常用命令................................................................................................................78说明Uboot版本:2010.06交叉编译器版本:arm-linux-gcc4.3.2操作系统版本:Ubuntu13.10开发板平台:ARM920T—TX2440NORFLASH:EN29LV160BB-70TIP(2M)x8bitNANDFLASH:K9F2G08U0B(256M+8M)x8bitSDRAM:H57V2562GTR-75Cx2(32M)x2网卡:DM9000E显示器:AT070TN90(7’TFTLCD)本文档主要参考了XC2440和TX2440的移植手册,并结合自己的移植经验,还有一些帮助资料,更好地解释某些移植步骤的原因。源代码下载地址:移植uboot步骤说明:以下是根据长期的开发经验总结出的uboot移植开发的步骤,供学习者参考,本手册也是大体按照这个步骤进行的。做uboot移植开发,首先要保证uboot能适应自己的硬件平台,然后要能实现在flash上烧写系统和引导系统的功能,这些基本的功能做好以后,就可以给uboot加入一些辅助的功能,使uboot功能更强更方便使用。准备工作解压源码:tarxjvfu-boot-2010.06.tar.bz2源码目录加上所有权限sudochmod777u-boot-2010.06–R(参数-R表示递归地改变每个子目录下文件的权限)进入源码目录:cdu-boot-2010.06源码结构说明:arch:各种架构CPU相关的文件,类似linux的arch目录arch/arm/cpu:ARM架构的各种CPU的初始化文件,我们用到的是arm920t/s3c24xxarch/arm/include:ARM架构各种CPU相关的头文件,我们用到的是asm/arch-s3c24x0arch/arm/lib:ARM架构相关的库文件board:常用的主板BSP文件,每一种板对应一个目录,如smdk2410common:与架构无关的通用函数的实现,包括main函数,各种命令的实现drivers:通用的设备驱动程序fs:文件系统的实现,包括yaffs2、cramfs、ext2、jffs2等include:全局的头文件和主板的配置文件lib:平台无关的通用库文件net:网络协议相关的文件post:开机自检相关的文件tools:uboot自带的工具我们移植的时候,只需要编译和我们目标硬件平台相关的文件,这就需要对编译选项进行配置,告诉系统,需要编译到哪些目录下编译哪些文件,这些都是通过Makefile文件来实现的。首先,打开主目录下的Makefile文件,找到如下内容:smdk2410_config:unconfig@$(MKCONFIG)$(@:_config=)armarm920tsmdk2410samsungs3c24x0这个是针对三星smdk2410开发板的配置选项,这个开发板使用的S3C2410处理器,和我们使用的S3C2440处理器是类似的,大部分配置可以通用,但是在某些硬件方面也有一些差别,需要我们自己编写代码,以支持S3C2440处理器。配置各项含义如下:arm:CPU的架构(ARCH)arm920t:CPU的类型(CPU)smdk2410:开发板的型号(BOARD)samsung:开发者/或经销商(VENDER)s3c24x0:片上系统(SOC)配置选项所代表的目录关系说明:ARCH:对应于主目录下的arch/arm目录CPU:对应于arch/arm/cpu目录下的子目录,此值为arm920t,就使用arch/arm/cpu/arm920t目录下的代码BOARD:开发板的主目录,位于board目录下,要和下面的VENDER字段配合使用VENDER:对应于board目录下的子目录,此值为samsung,那么BOARD目录就包含在board/samsung子目录下,BOARD的值为smdk2410,那对应的开发板目录即为:board/samsung/smdk2410;如果VENDER的值为NULL,开发板目录即为:board/smdk2410SOC:对应于是CPU目录下的子目录,此值为s3c24x0,CPU为arm920t,对应的目录为:arch/arm/cpu/arm920t/s3c24x0增加对S3C2440平台的支持修改主目录下的Makefile文件在smdk2410之后仿照smdk2410的配置添加针对smdk2440开发板的配置:smdk2410_config:unconfig@$(MKCONFIG)$(@:_config=)armarm920tsmdk2410samsungs3c24x0smdk2440_config:unconfig@$(MKCONFIG)$(@:_config=)armarm920tsmdk2440samsungs3c24x0(注意:第二行前面是TAB键,而不是空格!!)指定交叉编译器,修改第159行为:CROSS_COMPILE?=arm-linux-建立自己的目标板在board/samsung目录下,新建自己的开发板目录smdk2440,把board/samsung/smdk2410目录下的所有文件拷到smdk2440目录下,把smdk2410.c改名为smdk2440.c。修改该目录下的Makefile(第28行),把smdk2410.o改为smdk2440.o。COBJS:=smdk2440.oflash.oSOBJS:=lowlevel_init.o删除board目录下的所有文件夹,只保留samsung目录。删除samsung目录下的所有文件夹,只保留smdk2440目录。创建配置文件在include/configs目录下创建开发板的配置头文件,把smdk2410.h复制为smdk2440.h,我们的uboot只需要用到这一个配置文件,其他的文件都没有用了。删除include/configs目录下所有文件,只保留smdk2440.h删除arch目录中多余文件进入arch目录,删除所有文件夹,只保留arm目录。进入arm/cpu目录,删除所有文件夹,只保留arm920t目录进入arm9

1 / 81
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功