1.执行过程
中断在嵌入式开发中十分重要,特别是对于裸机开发中,中断可以使程序更加简洁,减少程序负担,但是中断从头到尾到底经历了哪些阶段、做了哪些东西应该很多人都不明白把。由于现在嵌入式开发主流是C,C属于高级语言,我们通常配置一些参数,重写中断服务函数就完事,对其中的过程一无所知,所以在本次博文中分享一些关于中断的理论知识。
中断执行过程通常含有一下五个过程:
中断请求 --> 中断择优 --> 中断响应 --> 中断处理 --> 中断返回
2.中断处理
其中中断处理是整个中断系统的核心,可以细分为一下环节:
图2-1 中断处理细分图
主要包括三大部分内容:a.准备部分、b.处理部分 、c.结尾部分
a.准备部分:
基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许更高优先级的中断打断低级的中断服务。
b.处理部分:
执行某个中断服务函数。
c.结尾部分:
首先是关中断,防止在恢复现场中被新的中断请求打断,接着是恢复现场,然后是开放中断,以便返回原来的程序后可以响应其他中断请求。(中断服务程序的最后一条指令一定是中断返回指令)
3.我只是个搬运工
原文:https://baike.baidu.com/item/%E4%B8%AD%E6%96%AD%E5%85%A8%E8%BF%87%E7%A8%8B/2110440?fr=aladdin