《嵌入式系统原理与设计》| ARM寄存器_中断处理流程

异常,中断

1)异常主要是处理器被动接受,指意外操作引起的异常。
2)中断则是向处理器主动提出申请。
3)这两种情况都是请求处理器打断正常的程序执行流程,进入特定程序的一种机制。若无特别说明,对“异常”和“中断”不作严格的区分。

中断的响应过程

1)现场保护: 将特定的八个寄存器压入堆栈,保护现场
2)取中断向量: 在中断向量表中读取中断向量的入口地址
3)执行中断: 跳转到中断服务函数中,执行动作
4)恢复现场: 将处理器的状态恢复到进入系统之前的值
5)**返回中断:**返回到中断发生前程序执行的位置

注:
执行中断 前,需要更新寄存器
SP:选择MSP/PSP,更新堆栈指针SP
PC:指向中断服务函数的入口地址;
LR:将下一条指令的地址存入LR,以便程序在处理异常返回时能从正确的位置重新开始执行。

发布了12 篇原创文章 · 获赞 1 · 访问量 368

猜你喜欢

转载自blog.csdn.net/wyifan_/article/details/104731526