arm 体系架构-异常中断与恢复

一、定义

(1)针对SoC来说,发生复位、软中断、中断、快速中断、取指令异常、数据异常等,我们都统一叫异常。所以说:中断其实是异常的一种。

(2)异常的定义就是突发事件,打断了CPU的正常常规业务,CPU不得不跳转到异常向量表中去执行异常处理程序;中断是异常的一种,一般特指SoC内的内部外设产生的打断SoC常规业务,或者外部中断(SoC的GPIO引脚传回来的中断)。

理解函数调用与异常的区别

二、异常发生时arm核处理流程

arm定义好了异常向量表,定义了各种异常发送时跳转的函数。

在发生中断时先保存现场,再去处理中断,最后恢复现场。

1、保存现场(硬件自动完成):就是保存所有寄存器的值;当发生中断的瞬间,栈会自动保存无需保护的寄存器,如图:

将这些寄存器保存在栈中。

注意:上图中"LR"保存的是正常函数调用的返回地址,"返回地址"保存的是中断处理完成后的返回地址。

2、调用处理函数(硬件跳转):发生中断,C函数会保证不会破坏 R4 至 R11

3、恢复现场:硬件恢复上图保存的寄存器值。

ref:

相关推荐
hsjiasb7 小时前
FreeRTOS学习(二十三)——消息缓冲区(Message Buffer)
stm32·单片机·嵌入式硬件·学习·freertos
我是海飞9 小时前
杰理JL703N SSD1306 OLED(128x64) 点阵屏移植说明
单片机·算法·嵌入式·音频·杰理
沸速存储11 小时前
CPU 和 GPU 核心差别在哪?为什么 AI 训练离不开 GPU
服务器·人工智能·科技·嵌入式硬件·电脑
wuyk55511 小时前
2.队列:先进先出的线性数据结构
c语言·数据结构·stm32·单片机
我不会JAVA!12 小时前
【无标题】
嵌入式硬件·h.264
芯岭技术郦12 小时前
OM6625A芯片 Timer 定时器计数模式使用说明
stm32·单片机·嵌入式硬件
Dr.kangder14 小时前
嵌入式面试总结(八)——大小端
嵌入式硬件·面试·职场和发展·架构·嵌入式
zlinear数据采集卡15 小时前
D223的SRAM硬件记录仪:外部触发与瞬态波形捕获方案
arm开发·嵌入式硬件·fpga开发·开源
zcmodeltech15 小时前
双碳沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的碳捕集-零碳园区-综合能源全场景联动方案
stm32·嵌入式硬件·能源·嵌入式实时数据库·多分类
LCG米16 小时前
STM32零基础入门教程:从环境搭建到实战项目(点亮LED + 串口打印 + 呼吸灯)
stm32·单片机·嵌入式硬件