完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
异常和中断
1.ARM 处理器复位后,处理器硬件将进行如下操作: (1) 强制进入管理模式; (2) 强制进入到 ARM 状态; (3) 跳转到绝对地址 PC=0x00000000 出执行; (4) 禁止 IRQ 中断和 FIQ 中断。 复位后 CPSR 中最后 4 位状态为 0011,并且进入管理模式,执行操作系统程序, 一般用做对系统的初始化,然后切换到用户模式,开始执行正常的用户程序,切 换到用户模式可以使用如下程序: MRS R0,CPSR ;读程序状态寄存器 BIC R0,R0,#03 ;把末两位清零 MSR CPSR_c ,R0 ;把修改后的值加载给状态寄存器,切换结束 ADD R1,R2,R3 ;用户程序 2.未定义异常 . ARM 处理器中有很多没有定义的代码,因为 ARM 使用 32 位代码,包含 2 的 31 次幂种。所以 ARM 指令集不能用尽所有的代码。 ARM 的未定义异常有两种情况: (1) 遇到一条无法执行的指令,此指令没有定义; (2) 执行一条协处理器的操作指令,在正常情况下,协处理器应该应答,但是 没有,可能是因为干扰等原因。 当 发 生 此 异 常 时 , 处 理 器 硬 件 响 应 中 断 , 但是一般情况下是不希望产生异常的,如果是由于干扰引起的异常,那么在 异常中断处理中有一段专门的程序,让程序返回再重新执行该条指令,以判 断异常是否是由干扰引起。 当然也要注意哪种单片机应该使用哪种合适的指令集版本,因为还是约 有差异的,否则某些编译通过的指令也不能执行。 3. 软件中断异常 软件中断异常是由指令 SWI 引起的, 程序执行这一条指令后, 进入异常中断。 处理器响应中断,硬件执行图如下: 软件中断处理程序完成后,使用下列返回指令返回到原中断处: MOVS PC , R14 软件中断异常把程序导入管理模式,而子程序调用属于用户模式。 4. 预取指中断异常 。。。 。。 预取指中断异常和未定义指令异常都是由于不正常的指令国产引起,但是也 有区别: (1) 未定义指令异常是内部异常中断,而他是外部信号引起的异常中断; (2) 他并没有成功地取得一条指令。 他中断返回时,应该执行指令:SUBS PC , R14 , #4 5.数据中止异常 . 。。。 。。。 6.中断请求(IRQ)异常 . 在 ARM 处理器中,有一个输入逻辑 nIRQ 称为中断请求信号,这个输入信 号是由 ARM 处理器外围控制模块(片内)控制,当有满足中断条件的事件发生 时, 外围控制模块向 ARM 处理器发错 IRQ 信号, ARM 处理器进入异常, 使 IRQ 中断是常用的中断,就像 51 系列单片机中定时器中断、串口中断、外部中断等。 中 断 可 以 通 过 CPSR[7] 来 屏 蔽 。 IRQ 完成中断处理后, 程序应该执行下列指令返回到原中断处: SUBS PC , R14 , #4 7. 快速中断(FIQ)请求异常 在 ARM 处理器中,有一个输入逻辑 nFIQ 称为中断请求信号,这个输入信 号是由 ARM 处理器外围控制模块(片内)控制,当有满足中断条件的事件发生 时, 外围控制模块向 ARM 处理器发错 FIQ 信号, ARM 处理器进入异常。 使 FIQ 中断可以通过 CPSR[6]来屏蔽。 注意:进入异常会引起处理器模式转换。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1093 浏览 1 评论
飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
607 浏览 0 评论
飞凌嵌入式-ELFBOARD 4.3吋电容触摸液晶模块简介第三期 :机械机构说明
762 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-i2c与从设备通讯编程示例之开发板测试
1440 浏览 0 评论
ubuntu ping 开发板存在严重的丢包情况,请问该怎么解决?
2708 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 18:12 , Processed in 0.362855 second(s), Total 40, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号