基于ARM11的精简BootLoader的设计-Core.PDF

基于ARM11的精简BootLoader的设计-Core.PDF

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

24 机电技术 2011 年 6 月 基于ARM11 的精简BootLoader 的设计 汪猛 程翔 (厦门大学物理与机电工程学院,福建 厦门 361005 ) 摘 要:嵌入式系统一般有三个部分构成:系统引导加载程序、嵌入式操作系统内核以及根文件系统。由于嵌入式 系统引导加载程序严重依赖于 CPU 体系结构和嵌入式板级设备的配置,所以没有一个通用的嵌入式引导加载程序。嵌 入式系统引导加载程序一般分为二个阶段,第一阶段主要是和 CPU 体系结构相关的代码,第二阶段和板级硬件配置相 关代码。本文基于 ARM 体系结构的硬件平台主要分析引导加载程序第一阶段,进而研究引导加载程序的实质。 关键词:中断向量表; BootLoader ; ARM 中图分类号:TP368.12 文献标识码:A 文章编号:1672-4801(2011)03-024-03 嵌入式系统的启动设备主要有三种,分别是 用的地址需要经过 MMU 页表映射才能得到相应 NOR FLASH, NAND FLASH 以及 SD 卡,可通过 的物理地址。而 Bootloader 是为正确加载操作系 配置引脚的不同状态确定启动设备。由于 SD 卡 统前初始化硬件的一段程序,一般情况下嵌入式 烧写方式不依赖 JTAG 和并行接口,以及其可插 的 Bootloader 是没有开启 MMU 的,所以要让 拔的特点,故其应用更加广泛和便捷,大大提高 Bootloader 正确运行,在链接阶段产生的地址应 了调试的效率。本文研究基于 S3C6410 硬件平台, 该和运行时候的物理地址是一致的才行。 启动方式为 SD 卡启动。 ARM 体系架构的指令集采用的是 RISC 指令 集,内存和 CPU 寄存器之间交换数据通过 1 开发环境介绍 LDR/STR 及其扩展指令来实现的,在链接阶段产 本文基于 SC36410 硬件平台,S3C6410 是三 生的地址和运行时候的物理地址不相同时,如果 星公司推出的基于ARM1 微处理器的一款高端开 指令中地址值的编码计算方式是通过绝对值地址 发板,专为多媒体消费类电子产品的开发而设计。 取得的时候就会产生不可预知的错误。在实际应 S3C6410 采用了 64/32 位内部总线架构,由 AXI 、 用中,嵌入式 Bootloader 以及 Linux 启动代码采 AHB 和 APB 总线组成,内置视频处理、音频处 用汇编编写的程序中很多地方的链接阶段分配的 理、2D 图形、3D 图形等硬件加速器[1] 。本文软 地址和运行时候的物理地址不相同,但是程序却 件开发环境基于 Linux 操作系统 Ubuntu-9.10 , 可以正确运行。这是因为这部分代码是位置无关 ARM 嵌入式交叉工具链、scratchbox2、minicom 、 性代码,其原理是指令所存放的内存地址是根据 kermit 等软件开发包。 PC 指令的偏移方式计算出来的,和链接阶段产生 的地址无关。地址无关性代码用途很广,最常用 2 ARM 汇编程序编程要点 的是程序的起始阶段通过地址无关性代码,实现 (1) 位置无关性代码 PIC(Position-Independent 代码的重定向功能。我们可根据 ARM 指令的编 Code)

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档