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

一、定义

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

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

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

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

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

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

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

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

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

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

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

ref:

相关推荐
cu1435 分钟前
细谈IT65631的具体功能与其应用
c++·单片机·嵌入式硬件
小莞尔38 分钟前
【51单片机】【protues仿真】基于51单片机超声波测距仪系统
c语言·单片机·嵌入式硬件·物联网·51单片机
Chery11401 小时前
充电桩控制板如何增加以太网通信?MCU联网方案选型思路
单片机·嵌入式硬件
新晨单片机设计1 小时前
S027D-STM32智能电梯控制系统(超重、防夹、语音)【Proteus仿真+Keil程序+原理图】
stm32·嵌入式硬件·语音识别·智能电梯控制系统
恶魔泡泡糖1 小时前
stm32F103C8T6标准库串口型雷达模块协议基础(RD03)
stm32·单片机·嵌入式硬件
集芯微电科技有限公司1 小时前
集芯微电科技推出5.5V/10A集成功率MOSFET降压DC/DC转换器
人工智能·科技·单片机·嵌入式硬件·神经网络·生成对抗网络
送外卖的工程师1 小时前
STM32智能家居语音系统(ASRPRO版)
stm32·单片机·嵌入式硬件
硅基手札1 小时前
SPI技术系列 13 · SPI 调试与排查
linux·运维·stm32·单片机·嵌入式硬件·bug
我不管我就要叫小猪1 小时前
stm32——CAN总线通信
stm32·单片机·嵌入式硬件
Yiran_G2 小时前
ZigBee通信正常,数据却是错的?嵌入式开发中的数据链路排查
网络·嵌入式硬件·物联网·智能家居