ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:2.52MB ,
资源ID:1264302      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1264302.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(武汉理工大学嵌入式复习重点.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、第一章1. 嵌入式系统的定义:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、重量、功耗严格要求的专用计算机系统。2. 3.4.嵌入式系统的特点:嵌入专用 嵌入式处理器与通用处理器的最大不同就是嵌入式处理器嵌入在针对特定应用设计的系统中综合性强 嵌入式系统是将计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,是一个技术密集、资金密集、知识高度分散、不断创新的知识集成系统设计高效 可裁剪嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余程序固化 软件一般都固化在存储器芯片或处理器本身中,这样提高了系统的执行速度和可靠性需要独立

2、的开发系统 嵌入式系统本身不具备自举开发能力,必须有一套开发工具和环境才能进行开发生命周期长 嵌入式系统和具体应用结合在一起,其升级换代一般与具体产品同步进行,因此具有较长的生命周期可靠性高、成本低、资源受限、功耗低等等第二章1嵌入式设计方法的演变硬件设计的进步 旧方法:选择和使用标准通用集成电路器件 新方法:自己设计和制作部分专用的集成电路器件 由各种EDA工具软件提供支持的软件设计的进步 旧方法:无操作系统 新方法:基于操作系统设计 简化多任务、实时、复杂软件设计第三章(3.7以后是重点,第三章前面的都不考。从3.7往后看)1.ARM微处理机的工作模式ARM微处理器支持7种工作模式 Use

3、r-用户模式(usr) ARM处理器正常的程序执行状态 System-系统模式(sys) 运行具有特权的操作系统任务 IRQ-外部中断模式(irq) 用于通用的中断处理 FIQ-快速中断模式(fiq) 用于高速数据传输或通道处理Supervisor-管理模式(svc) 操作系统使用的保护模式 复位、软中断调用(SWI) Abort-中止模式(abt) 当数据或指令预取中止时进入该模式 可用于虚拟存储及存储保护 Undefined-未定义指令模式(und) 当未定义的指令执行时进入该模式 可用于支持硬件协处理器的软件仿真特权模式 除用户模式以外,其余6种模式称之为特权模式(Privileged

4、Modes),当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。异常模式 除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况2.工作模式的改变通过软件改变 系统调用 通过外部中断或异常处理改变 外部中断:IRQ、FIQ 来自中断控制器 异常处理 来自CPU内部工作模式的改变举例SWI软件中断指令 SWI 0x0 ; 调用0号软中断 SWI 0x12 ; 调用12号软中断IRQ外部中断 _irq void HandlerTIMER5(void) timeval+; / 当前时刻递增 pIC-I_

5、ISPC = INT_TIMER5; / 清除中断请求位 3.ARM微处理器的工作状态一般有两种 第一种为ARM状态 处理器执行32位的ARM指令 ARM指令要求字对齐 第二种为Thumb状态 处理器执行16位的Thumb指令 Thumb指令要求半字对齐工作状态切换 在程序的执行过程中,处理器可以随时在两种工作状态之间切换,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容ARM微处理器在开始执行代码时总是处于ARM状态,也就是复位后进入ARM状态工作状态切换方法 进入Thumb状态 执行BX指令 BX:带状态切换的跳转指令 当操作数寄存器的最低位0为1时,可以使微处理器从ARM

6、状态切换到Thumb状态 BX R0 ;R0的最低位0为1 处理器工作在Thumb状态,如果发生异常并进入异常处理子程序,则异常处理完毕返回时,自动从ARM状态切换到Thumb状态工作状态切换举例B LabelCMP R1, #0BEQ LabelADRL R0, ThumbFun+1BX R0BLX Label4. ARM处理器的寄存器37个32位寄存器 31个通用寄存器 6个状态寄存器 这些寄存器不能被同时访问 取决于处理器的 工作状态 工作模式1)通用寄存器 通用寄存器包括R0R15 可以分为三类2)未分组寄存器R0R7未分组寄存器R0R7在所有的工作模式下,每个未分组寄存器都指向对应的

7、一个物理寄存器。在中断或异常处理进行工作模式转换时,由于不同的处理器工作模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏分组寄存器R8R14分组寄存器R8R14R8R12 每个寄存器对应2个不同的物理寄存器 当使用FIQ模式时,访问R8_fiqR12_fiq 当使用其他模式时,访问R8_usrR12_usrR13、R14 每个寄存器对应6个不同的物理寄存器 其中一个寄存器是用户模式与系统模式共用 另外5个物理寄存器对应于其他5种不同的工作模式R13寄存器 一种习惯用法,常用作堆栈指针SP(Stack Pointer),也可使用其他的寄存器作为堆栈指针,在Thumb指令集中,某些指令强制

8、使用R13作为堆栈指针。在应用程序初始化时,一般都要初始化每种模式下的R13,使其指向该工作模式的栈空间不同物理寄存器的区分。R14寄存器 也称链接寄存器LR (Link Register) 当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份 BL Label;下一条指令地址LR, LabelPC 当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值 其他情况下,R14用作通用寄存器 R13_ R14_mode为:usr、fiq、irq、svc、abt、und 例如: R13_usr、R13

9、_fiq、R13_irq R14_svc、R14_abt、R14_und3)程序计数器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(Current Program S

10、tatus Register)CPSR可在任何工作模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。异常模式下有一个专用的物理状态寄存器,称为SPSR(Saved Program Status Register),当异常发生时,SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR。用户模式和系统模式不属于异常模式,没有SPSR。5. Thumb状态下的寄存器Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集 程序可以直接访问 8个通用寄存器(R7R0) 程序计数器(PC) 堆栈指针(SP) 连接寄存器(LR) CPS

11、R:在每一种异常模式下都有一组SP、LR和SPSR6. 程序状态寄存器程序状态寄存器的构成 一个当前程序状态寄存器(CPSR) 五个备份程序状态寄存器(SPSR):备份的程序状态寄存器用来进行异常处理程序状态寄存器的功能:保存ALU中的当前操作信息,控制允许和禁止中断,设置处理器的工作模式。标志位N当用两个补码表示的带符号数进行运算时 N=1 表示运算结果为负数 N=0 表示运算结果为正数或零标志位ZZ=1 表示运算结果为零;Z=0 表示运算结果为非零标志位V对于加/减法运算指令,当操作数和运算结果为补码表示的带符号数时,V=1表示符号位溢出对于其他的非加/减运算指令,V的值通常不改变标志位C

12、加法运算(包括比较指令CMN): 当运算结果产生了进位时(无符号数溢出),C=1,否则C=0减法运算(包括比较指令CMP): 当运算时产生了借位(无符号数溢出),C=1,否则C=0对于包含移位操作的非加/减运算指令,C为移出值的最后一位 对于其他的非加/减运算指令,C的值通常不改变中断禁止位I和FI=1禁止IRQ中断;I=0允许IRQ中断F=1禁止FIQ中断;F=0允许IRQ中断运行状态控制位T 对于ARM v5及以上的T系列处理器,当该位为1时,程序运行于Thumb状态,否则运行于ARM状态 对于ARM v5及以上的非T系列处理器,当该位为1时,执行下一条指令以引起未定义指令异常;当该位为0

13、时,表示运行于ARM状态工作模式位M4:0 这些位决定了处理器的工作模式7. ARM微处理器的寻址方式1)立即寻址:操作数本身就在指令中2)寄存器寻址:利用寄存器中的数值作为操作数3)寄存器间接寻址:以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中4)基址寻址:寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址 5)相对寻址:相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址6)多寄存器寻址:采用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送,最多传送16个通用寄存器的值 例

14、如 LDMIA R0!, R1, R2, R3, R4 ; R1R0,R0=R0+4 ; R2R0,R0=R0+4 ; R3R0,R0=R0+4 ; R4R0,R0=R0+4 指令后缀IA表示在每次执行操作后R0按字长度增加 注意:在寄存器列表中同一寄存器仅能指定一次;加载/存储操作按照寄存器固定次序进行,所以寄存器排列先后关系随意。多寄存器寻址(块拷贝寻址)(特别注意!)IA:Increment After,操作完成后地址递增;n IB:Increment Before,地址先递增后完成操作;n DA:Decrement After,操作完成后地址递减;n DB:Decrement Before,地址先递减后完成操作7)堆栈寻址:堆栈按先进后出(FILO)的工作方式寻址。8.指令格式S , , operand2 opcode: 指令助记符,如ADD, LDR, STR cond: 执行条件,如NE, EQ S: 是否影响CPSR的值 Rd: 目标寄存器 Rn: 第一操作数寄存器 operand2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1