



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑ARM寄存器分析以及异常处理方法-设计应用ARM有7个基本工作模式User:非特权模式,大部分任务执行在这种模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式IRQ:当一个低优先级(normal)中断产生时将会进入这种模式Supervisor:当复位或软中断指令执行时将会进入这种模式Abort:当存取异常时将会进入这种模式Undef:当执行未定义指令时会进入这种模式System:使用和User模式相同寄存器集的特权模式注意:除User(用户模式)是Normal(普通模式)外,其他6种都是Privilege(特权模式)。Privilege中除Sys模式外,其余5种为异常模式。各种模式的切换,可以是程序员通过代码主动切换(通过写CPSR寄存器);也可以是CPU在某些情况下自动切换。各种模式下权限和可以访问的寄存器不同。非特权模式:User特权模式:异常模式:FIQIRQSvcAbortUdef非异常模式:SystemMonitor
ARM寄存器分析ARM共有37个寄存器,都是32位长度37个寄存器中30个为“通用”型,1个固定用作PC,一个固定用作CPSR,5个固定用作5种异常模式下的SPSR。r13(sp)用作堆栈可以保存上下文,便于以后跳转回来能继续执行r14(lr)用于存储返回地址,当我们返回原模式可以bllr或者movpclr这样就实现了返回r15(pc):程序指针,PC指向哪里,CPU就会执行哪条指令(所以程序跳转时就是把目标地址代码放到PC中)cpsr:中各个bit位表明了cpu的某些状态信息,这些信息非常重要,和后面学到的汇编指令息息相关(譬如BLE指令中的E就和CPSR中的Z标志位有关)cpsr中的I、F位和开中断、关中断有关cpsr中的mode位(bit4~bit0共5位)决定了CPU的工作模式,在uboot代码中会使用汇编进行设置。spsr:用来保存cpsr
1.条件标志位-N:NegativeresultfromALU-Z:ZeroresultfromALU-C:ALUoperationCarriedout(进位/借位)-V:ALUoperationoverflowed(溢出)*N=1时,说明运算的结果为负数,N=0时,说明运算的结果为正数或零。*Z=1时,说明运算的结果为0,Z=0时,说明运算的结果为非0。*C:-加法运算(包括CMP):当运算结果产生了进位时(无符号数溢出),C=1,否则为0。-减法运算(包括CMP):当运算结果产生了借位时(无符号数溢出),C=0,否则C=1。-对于包含移位操作的非加减指令操作时,C为移除值的一位。-对于其它的非加减指令,C的值通常不变。*V:-对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出-对于其它的非加减法指令,V的值通常不变。2.Q位:*在ARMV5及以上的版本的E系列处理器中,Q标识位指示增强的DSP运算指令是否发生了溢出,在其它版本的处理器中,Q未定义。3.J位:*仅ARM5TE/J架构支持*J=1时,处理器处于Jazelle状态跳转过程异常向量表所有的CPU都有异常向量表,这是CPU设计时就设定好的,是硬件决定的。当异常发生时,CPU会自动动作(PC跳转到异常向量处处理异常,有时伴有一些辅助动作)异常向量表是硬件向软件提供的处理异常的支持。***异常产生时做好保护现场的工作:(1)把cpsr保存到spsr中,设置适当的cpsr(改变处理器的ARM状态、改变处理器进入相应的异常模式、(视情况)改变中断禁止位禁止相应中断)(2)保存返回地址到lr(3)设置pc为相应的异常向量实现跳转。***异常返回时做好恢复现场工作:(1)从spsr恢复cpsr(2)从lr恢复pc注意:这些操作必须在ARM状态执行TIPS:(1)异常向量表中除了FIQ中断都是4个字节,所以只够存放一段异常处理程序的代码的首地址(2)FIQ中断为快速中断,其中一个特殊的地方就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 发票申请合同范例
- 叉车买卖协议合同范例
- 包车带司机合同范例
- 印刷技术咨询合同范例
- 代签租车合同范例
- 保温产品购销合同范例
- 亲属间转赠住房合同范例
- fidic合同范例文库
- 买卖合同范例5000字
- 厨房配餐项目承包合同范例
- 幼儿园体育游戏对幼儿社交能力的影响
- 《STP营销战略概述》课件
- 英语语法点点通(新疆交通职业技术学院)知到智慧树答案
- 2024年四川省绵阳市中考语文试卷(附真题答案)
- 女性的中医养生保健
- 【论正当防卫的限度(论文)8400字】
- 《跨境直播运营》课件-跨境直播的内容组织
- 参加社会保险人员登记表
- (正式版)SH∕T 3541-2024 石油化工泵组施工及验收规范
- DB22-T5131-2022预拌盾构砂浆应用技术标准
- JGJ-T12-2019轻骨料混凝土应用技术标准
评论
0/150
提交评论