预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

MicrocomputerApplicationsVol-21,No·7,2005技术交流囊型电脑应用2005年第21卷第7期 文章编号:1007—757X(2005)07-0048-03 U—Boot在$3C2410上的移植 曹程远 摘要:bootloader是嵌入式系统中必不可少的用以完成系统的启动加载任务的一段软件代码。U-boot作botloader的 集大成者.现已得到了广泛的应用.本文通过将u-boot移植到基于s3c2410的开发板上详细地介绍了u—boot的运行原理和移 植过程。 关键词:botloader,u—bot)s3c2410,移植 中图分类号:TP315,TP368文献标识码:B 引言◆CPU:S3C241O ◆FLASH:16M,TELTE28F128J3C一150 Bootloader是操作系统内核运行之前运行的一段小程◆SDRAM:64MSAMSUNGK4S561632D—TC75 序。主要用于初始化硬件设备,建立内存空间的映射图,从而◆一个四线RS一232接口 将系统的软硬件环境带到一个合适的状态,以便为最终调用◆一个10M/100M自适应以太网接口 操作系统内核准备好正确的环境。Botloader与cpu的体系结◆一个TFTLCD接口 构有关,不同的cpu体系结构都有不同的bootloader。同时◆一个USB接口 botloader还依赖于具体的嵌入式板级设备的配置。也就是◆JTAG接口 说,对于两块不同的嵌入式板而言,即使基于同一种cpu构◆运行状态指示LED灯 建,要想让运行在一块板子上的botloader程序也能运行在 2u-boot主要目录 另一块板子上,通常也都需要修改botloader的源程序。本文 就是将运行在目标板smdk2410上的bootloader(u-boot)移 ◆board-该目录下一般为针对特定板子的一些初始化 植到自己的开发板上. 和操作代码,如flash,doc等,ld文件也放在这里, ◆cpu一该目录下是针对特定处理器的初始化和操作代 1U-Boot介绍 码,启动代码.s文件也在这里, ◆common-此目录存放独立于处理器体系结构的通用 U-Boot是德国DENX小组的开发用于多种嵌入式CPU 代码,如内存大小探测与故障检测,且该目录下main.C可以 的开放源代码bootloader程序,目前版本是1.1.2.U-Boot是 看作是linux中的8h,负责接受用户输入并送给相应的处理函 在ppcboot以及armbot的基础上发展而来。现已非常成熟和 数执行。 稳定,已经在许多嵌入式系统开发过程中被采用。目前支持的 ◆driver一此目录下放的是各种驱动,如以太网驱动, 目标操作系统包括OpenBSD,NetBSD,FreeBSD,Linux, LCD屏驱动等, SVR4,Esix,Solaris,Trix,Sco,Dell,NCR,VxWorks,Lynxos, ◆doc—u—b∞t的说明文档, pSOS,QNX,RTEMS和ARTOS。就目前来看,U—Boot对 ◆examples一目录下放的是可在U—bot下运行的例 PowerPC系列处理器支持最丰富,同时还支持MIPS,x86, 子,相当于linux中应用程序, ARM,Nios,XScale等诸多常用系列处理器。对Linux的支持 ◆fs一目录下是文件系统, 最完善,是嵌入式LinuxBotloader的最佳选择。◆include-目录下存放各种头文件和配置文件, 由于本文要移植的开发板是基于s3c2410的开发板,在U◆lib一'口【x一处理器体系相关的文件,如lib—arm目录 -Boot中已有移植成功的smdk2410开发板,故以smdk2410就包含ARM体系结构相关的文件, 开发板上运行的u-bot为参考针对自己的开发板进行移植。◆net一与网络功能相关的文件目录,如botp,nts,t[tp, 在U-Boot中有相对应的文件可以直接拿来修改使用。◆post一上电自检文件目录, 开发板主要配置有:◆rtc—RTC驱动程序, 作者简介,曹程远,长沙理工大学汽车与机电工程学院,长沙410076 ·48· MicrocomputerApplicatlonsVo1.21,No.7,2005技术交流微型电脑应用2005年第21卷第7期 ◆tools一目录下的代码都是可供使用的“工具”.用于创为64M.U—B0ot第二阶段的代码就放在SDRAM空间最顶 建u-boot,bin镜像文件。因为是在宿主机上跑的,因此与前端的1M处,起始地址为0x33F00000,这是一种值得推荐的方 面不同,使用gec编译;法。 系统上电复位后从OxO0000000地址处开始执行代