网站大量收购独家精品文档,联系QQ:2885784924

基于arm9嵌入式bootloader设计跟实现新.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于arm9嵌入式bootloader设计跟实现新

基于ARM9嵌入式系统的BootLoader设计与实现 徐学均 信息产业部电子第六研究所,北京 (100083) E-mail:xuxuejun0524@126.com 摘要:介绍了基于ARM9嵌入式系统在上电启动后操作系统运行之前BootLoader的启动过程, 并设计出了具有良好模块性和可移植性的启动程序,试验结果表明该设计有良好的稳定性和 高效性,对分析和开发其它的BootLoader程序具有一定的启发作用。 关键词:BootLoader S3C2410 嵌入式系统 中图分类号:TP314 1.引言 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减以适应系统对功能、 可靠性、成本、体积、功耗要求严格的专用计算机系统。嵌入式系统从软件的角度通常可分 为4个层次:引导加载程序、Linux 内核、文件系统、用户应用程序。引导加载程序是系统 加电后的第一段代码,对PC机而言,开机后的处理器配置、存储器、硬盘等硬件设备的初 始化操作由BIOS来完成的,但对于嵌入式操作系统来说,通常没有像BIOS那样的固件程序, 这样就需要我们自己编写完成系统初始化操作的被称为BootLoader程序的这段代码,因此 整个系统的加载启动任务完全由BootLoader来完成。简单地说,BootLoader就是在操作系 统内核运行前执行的一段小程序。通过这段小程序,可以初始化必要的硬件设备,创建内核 需要的一些信息并将这些信息通过相关机制传递给内核,从而将系统的软硬件环境设定在一 个合适的状态,以便为最终调用操作系统内核、运行用户设计的应用程序准备好正确的运行 [1] 环境 。 BootLoader是依赖于硬件实现的,不同的体系结构、不同的嵌入式板级设备配置需 要的BootLoader都是不同的。也就是说,对于两块不同的嵌入式板级设备而言,即使它们 基于相同的微处理器构建,运行在其中一块嵌入式板级设备上的BootLoader,未必能够运 行在另一块嵌入式板级设备上。因此要为嵌入式系统建立一个通用、标准的BootLoader是 非常困难的。在多数情况下,我们有必要根据嵌入式板级设备和微处理器的需求自行设计 BootLoader。 2 .BootLoader启动过程设计 三星的S3C2410处理器是一款基于ARM920T 内核的处理器,是三星公司专为手持设备和 一般类型的应用提供的一款低价格、高性能、低功耗的微处理器。本系统采用S3C2410微处 理器搭建,外加一片64M*8位数据宽度的NANDFlash和两片16M*16位数据宽度的SDRAM, 其地址范围为00S3C2410将系统的存储空间分为8组 (Bank),每组 1 大小为128MB。其中Bank0-Bank5主要用于ROM或SROM,Bank6-Bank7主要用于ROM、SROM [2] 或SDRAM 。 当嵌入式系统加电复位后,以微处理器为核心的嵌入式系统通常都有某种类型的固态存 储设备 (如EEPROM、Flash等)被映射到预先设置好的地址上,因此处理器将首先执行存放 在复位地址处的程序。复位地址可以通过ADS集成开发环境进行设置,以把BootLaoder定 位在复位地址开始的存储空间内,同时通过Linker选项定义ROBase地址为0 作为BootLoader 的入口地址—_ENTRY地址。对于嵌入式系统来说,不管是否使用操作系统, 在系统启动时都必须执行BootLoader,以便为系统及应用程序的运行准备好软硬件运行环 境。 基于S3C2410的嵌入式系统的启动方式通常有两种方式:一种方式是从NORFlash启动, 由于NORFlash可以支持随机访问,所以代码可以直接在Flash上执行,系统启动时,系统 会把Flash 的首地址映射到0置,并且启动程序本身要把自己从Flash 中移动 到RAM 中去;另一种方式是从NANDFlash启动,由于NA

文档评论(0)

kelly + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档