- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM异常中断以及对ARM异常返回地址的分析.pdf
1、ARM7异常的分类
异常类型 具体含义
复位(Reset) 处理器的复位电平有效时,产生复位异常
未定义指令 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义的指令异
(Undefined) 常,可使用该异常进行软件仿真
软件中断 该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指
(SWI) 令。可使用该异常机制实现系统功能调用。
指令预取中止 处理器试图去执行一条被标记为预取无效的指令时,将产生指令预取中
(PrefetchAbort) 止异常
数据中止 它由Load/Store 产生,若处理器数据访问指令的地址不存在,或者是地
(DataAbort) 址不允许当前指令访问时,产生数据中止异常
外部中断请求 当处理器的外部中断请求引脚有效,且CPSR 中的I位为0时,产生IRQ
(IRQ) 异常。系统的外设可通过该异常请求中断服务。
快速中断请求 当处理器的快速中断请求引脚有效,且CPSR 中的F 位为0时,产生FIQ
(FIQ) 异常。
2、各异常分析
举个小例子,下面是一段ARM汇编代码: (后面的返回地址分析中将会用到此图)
地址 指令
0x3000 MOV r3,#1
0x3004 MOV r0,#0
0x3008 MOV r1,#1
0x300C MOV r2,#2
2、各异常发生时处理器的动作以及返回地址的计算
复位异常: R14_svc = UNPREDICTABLE value
SPSR_svc = UNPREDICTABLE value
if high vectors
PC=0xFFFF0000
Else
PC=0
复位异常是没有返回地址的,所以R14,SPSR 寄存器中的值是不确定的,复位后程序从
0者是0xFFFF0000处开始执行。
未定义指令异常:
发生原因: 当ARM 处理器执行协处理器指令时,需等待外部协处理器响应后才
能够执行指令,如果没有协处理器响应,未定义指令异常中断出现。
(If the ARM processor executes a coprocessor instruction, it waits for any external
coprocessor to acknowledge that it can execute the instruction. If no coprocessor responds, an
Undefined Instruction exception occurs) // 摘自 ARMArcitecture Reference Manual(1)
P57
处理器动作伪代码:
R14_und = address ofnextinstruction afterthe Undefined instruction .
SPSR_und = CPSR
….
….
Ifhigh vectorsconfigured then
PC=0xffff0004;
Else
PC=0
返回地址: MOV PC,R14
返回地址分析:假设在执行地址为0x3000处的指令时,由于ARM7 是三级流
水线结构,所以此时PC 的值实际上为0x3000+8=0x3008,而当进入异常时ARM7 处理器将
R14_und 中的值保存为 address of next instruction after the Undefined instruction ,即
R14_und=0x3004,
您可能关注的文档
- (北师大版)白银市2013年小学升初中摸底统一考试语文试题.doc
- (格力)危险源识别评价及控制表.xls
- (模型)关于中国大气气溶胶光学厚度的一个参数化模式.pdf
- (沪教版)六年级数学上册课件公因数与最大公因数.ppt
- (海洋环境探测分析雷达远距离回波信号的谱处理.pdf
- (用)用于土壤侵蚀试验的降雨模拟器研究进展.pdf
- ,可以和我讨论,我将给予力所能及的帮助我的目的是让大家熟悉我们研究的作物,.xls
- 13年秋东财《资产评估》在线作业三题及答案.doc
- 2008年度国际市场最大225家承包商市场分析.pdf
- 2012年ACCF和AHA_关于不稳定性心绞痛和非ST段抬高心肌梗塞治疗的修订指南.ppt
文档评论(0)