ARM知识简述讲述.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM知识简述讲述

什么是嵌入式系统? ARM特点: 1、体积小、低功耗、低成本、高性能 2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件 3、大量使用寄存器,指令执行速度更快 4、寻址方式灵活简单,执行效率高 工作状态: 从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令。 第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。 当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。 存储器格式: ARM体系结构将存储器看作是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB。 ARM体系结构可以用两种方法存储字数据,称之为大端格式和小端格式。 大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。 指令长度: ARM微处理器的指令长度可以是32位(在ARM状态下),也可以为16位(在Thumb状态下)。ARM微处理器中支持字节(8位)、半字(16位)、字(32位)三种数据类型,其中,字需要4字节对齐(地址的低两位为0)、半字需要2字节对齐(地址的最低位为0)。 工作模式: ARM微处理器支持7种工作模式,分别为: 1、用户模式(Usr) 用于正常执行程序 2、快速中断模式(FIQ) 用于高速数据传输 3、外部中断模式(IRQ) 用于通常的中断处理 4. 管理模式(svc) 操作系统使用的保护模式 5. 数据访问终止模式(abt) 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 6. 系统模式(sys) 运行具有特权的操作系统任务。 7. 未定义指令中止模式(und) 当未定义的指令执行时进入该模式,可用于支持硬件 ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。 应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged?Modes);其中除去用户模式和系统模式以外的5种又称为异常模式(Exception?Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。 寄存器 ARM微处理器共有37个32位寄存器,其中31个 为通用寄存器,6个为状态寄存器。但是这些寄 存器不能被同时访问,具体哪些寄存器是可以访 问的,取决ARM处理器的工作状态及具体的运行 模式。但在任何时候,通用寄存器R14~R0、程 序计数器PC、一个状态寄存器都是可访问的。 寄存器(ARM状态): 在ARM工作状态下,任一时刻可以访问16 个通用寄存器和一到两个状态寄存器。在 非用户模式(特权模式)下,则可访问到 特定模式分组寄存器, 具体见下页图: 寄存器(Thumb状态): Thumb状态下的寄存器集是ARM状态下 寄存器集的一个子集,程序可以直接访 问8个通用寄存器(R7~R0)、程序计 数器(PC)、堆栈指针(SP)、连接寄 存器(LR)和CPSR。 具体见下页图: ?寄存器对应: Thumb状态下的寄存器组织与ARM状态下的寄存器组织的 关系: Thumb状态下和ARM状态下的R0~R7是相同的。 Thumb状态下和ARM状态下的CPSR和SPSR是相同的。 Thumb状态下的SP对应于ARM状态下的R13。 Thumb状态下的LR对应于ARM状态下的R14。 Thumb状态下的程序计数器PC对应于ARM状态下R15。 ?通用寄存器: R0~R15 R13_svc、R14_svc R13_abt、R14_abt R13_und、R14_und R13_irq、R14_irq R8_fiq ~ R14_fiq 不分组寄存器(The unbanked registers) R0-R7 分组寄存器(The banked registers) R8-R14? 程序计数器:R15(PC) R0-R7是不分组寄存器。这意味着在所有处 理器模式下,访问的都是同一个物理寄存 器。未分组寄存器没有被系统用于特别的用 途,任何可采用通用寄存器的应用场合都可 以使用未分组寄存器。 分组通用

文档评论(0)

jiayou10 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档