ARM的异常处理过程分析
来源:互联网 发布:js中blur 编辑:程序博客网 时间:2024/05/22 15:39
当异常产生时,ARM core会完成以下流程:
1.拷贝CPSR到SPSR_mode
2.设置适当的CPSR位:
改变处理器状态进入ARM态
改变处理器模式进入相应的异常模式
设置中断禁止位禁止相应中断(如果需要)
3.保存返回地址到LR_mode
4.设置PC为相应的异常向量
返回时,异常处理需要:(此时,需要程序员编写相应代码)
1.从SPSR_mode恢复CPSR
2.从LR_mode恢复PC
注意:这些操作只能在ARM态执行,但是中断处理函数中,处理器可以切换到THUMB态,但中断返回时必须是ARM态
vector table
0x00 reset
0x04 undefined instruction
0x08 SWI
0x0c prefetch abort
0x10 data abort
0x14 (reserved)
0x18 IRQ
0x1c FIQ
当外部中断产生的时候,PC指针会自动跳转到异常向量表,执行该地址的跳转指令
- ARM的异常处理过程分析
- ARM的异常处理过程分析
- ARM的异常处理过程分析
- ARM的异常处理过程分析
- ARM的异常处理过程分析
- ARM的异常处理过程分析(异常向量/工作模式)
- ARM的异常处理
- ARM的异常处理
- ARM的异常处理
- ARM 的异常处理
- ARM的异常处理
- ARM处理器异常处理的返回地址分析
- ECOS对于ARM平台异常的处理分析
- ARM:ARM中断异常的处理流程
- ARM cortex-M3 异常处理分析
- ARM 异常处理中宏代码分析
- 二、ARM 的异常处理
- 对ARM的异常处理
- 整机托管与虚拟主机的区别
- linux udev概述
- 品味生活 感悟人生
- JS操作Cookies
- 应用层调用接口修改输出显示方式 ExtEscape
- ARM的异常处理过程分析
- 网页视频采集
- QT連接數據庫
- ASP.NET页面间数据传递的方法
- 给国外教授写信(模板)
- minSdkVersion、targetSdkVersion、targetApiLevel的区别
- C/C++ typedef用法详解
- PHP中require与include的区别
- C#:方法重载、构造函数、重载构造函数小结