武汉理工大学嵌入式复习重点.docVIP

武汉理工大学嵌入式复习重点.doc

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

武汉理工大学嵌入式复习重点

第一章

嵌入式系统的定义:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、重量、功耗严格要求的专用计算机系统。

2.

3.

4.嵌入式系统的特点:

嵌入专用

?嵌入式处理器与通用处理器的最大不同就是嵌入式处理器嵌入在针对特定应用设计的系统中

综合性强

?嵌入式系统是将计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,是一个技术密集、资金密集、知识高度分散、不断创

新的知识集成系统

设计高效

?可裁剪——嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余

程序固化

?软件一般都固化在存储器芯片或处理器本身中,这样提高了系统的执行速度和可靠性

需要独立的开发系统

?嵌入式系统本身不具备自举开发能力,必须有一套开发工具和环境才能进行开发

生命周期长

?嵌入式系统和具体应用结合在一起,其升级换代一般与具体产品同步进行,因此具有较长的生命周期

可靠性高、成本低、资源受限、功耗低等等

第二章

1.嵌入式设计方法的演变

硬件设计的进步

?旧方法:选择和使用标准通用集成电路器件

–BXR0;R0的最低位[0]为1

?处理器工作在Thumb状态,如果发生异常并进入异常处理子程序,则异常处理完毕返回时,自动从ARM状态切换到Thumb状态

工作状态切换举例

BLabel

CMPR1,#0

BEQLabel

ADRLR0,ThumbFun+1

BXR0

BLXLabel

4.ARM处理器的寄存器

37个32位寄存器

?31个通用寄存器

?6个状态寄存器

?这些寄存器不能被同时访问

?取决于处理器的

–工作状态

–工作模式

1)通用寄存器

?通用寄存器包括R0~R15

?可以分为三类

2)未分组寄存器R0~R7

未分组寄存器R0~R7在所有的工作模式下,每个未分组寄存器都指向对应的一个物理寄存器。在中断或异常处理进行工作模式转换时,由于不同的处理器工作模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏

分组寄存器R8~R14

分组寄存器R8~R14

?R8~R12

?每个寄存器对应2个不同的物理寄存器

?当使用FIQ模式时,访问R8_fiq~R12_fiq

?当使用其他模式时,访问R8_usr~R12_usr

?R13、R14

?每个寄存器对应6个不同的物理寄存器

?其中一个寄存器是用户模式与系统模式共用

?另外5个物理寄存器对应于其他5种不同的工作模式

R13寄存器

?一种习惯用法,常用作堆栈指针SP(StackPointer),也可使用其他的寄存器作为堆栈指针,在Thumb指令集中,某些指令强制使用R13作为堆栈指针。在应用程序初始化时,一般都要初始化每种模式下的R13,使其指向该工作模式的栈空间不同物理寄存器的区分。

R14寄存器

?也称链接寄存器LR(LinkRegister)

?当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份

?BLLabel;下一条指令地址?LR,Label?PC

?当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值

?其他情况下,R14用作通用寄存器

?R13_mode

?R14_mode

?mode为:usr、fiq、irq、svc、abt、und

?例如:

?R13_usr、R13_fiq、R13_irq

?R14_svc、R14_abt、R14_und

3)程序计数器R15(PC)

R15寄存器

?R15寄存器用作程序计数器(PC)

?在ARM状态下,位[1:0]为0,位[31:2]用于保存PC

?在Thumb状态下,位[0]为0,位[31:1]用于保存PC

?由于ARM体系结构采用了多级流水结构,对于ARM指令集而言,PC总是指向当前执行指令的下两条指令的地址,即PC的值为当前执行指令的地址值加8个字节。R15也可用作通用寄存器,但一般不这么使用。因为对R15的使用有一些特殊的限制,当违反了这些限制时,程序的执行结果是未知的。

4)CPSR寄存器

?用作CPSR(CurrentProgramStatusRegister)

?CPSR可在任何工作模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。异常模式下有一个专用的物理状态寄存器,称为SPSR(SavedProgramStatusRegister),当异常发生时,SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR。用户模式和系统模式不属于异常模式,没有S

文档评论(0)

151****2506 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档