ARM7的异常处理
时间:11-21
来源:互联网
点击:
一直困惑,中断向量表的运行机制,从软件角度来说是说不通的,因为中断向量表采用的不是分支选择程序,而是顺序执行的跳转指令LDR或B,我想许多初学者一定有这样的困惑;
我们必须仔细?理解ARM的中断运行是什么样一个情况:
1进入异常:1)将原来执行的程序的下一条指令保存到LR中;这个好理解;2)复制CPSR到响应的SPSR中进行保存,这是为了保存异常前的状态;3)根据发生的异常类型改变CPSR模式的值;4)令程序计数器PC的值指向异常处理向量所指的下一条指令。这句话很关键,ARM内核响应异常后使PC值强制指向??异常处理向量所指的下一条指令,而不是软件实现的,否则脑袋想破都没有用。
PC值改变也就改变了程序的执行,跳转到具体的中断程序,而中断向量表是?预先设定好的放置中断跳转指令的“表”;??跳转到向量表则是由ARM内核完成。
这是纠结了几晚的事情,应该是正确的理解了,发出来供商榷???
ARM7异常处 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)