[国嵌攻略][049][中断处理流程深度剖析]
中断的生命周期
1.串口控制器产生事件,送到中断控制器,如果通过中断控制器的过滤,由中断控制器把事件送到CPU核
2.中断信号产生(中断源)->中断信号过滤(中断控制器)->中断信号处理(CPU)
中断源
在中断的生命周期中,中断源的作用是负责产生中断信号。2440支持60个中断源;6410支持64个中断源;210支持93个中断源
中断过滤
1.中断信号送到中断控制器来了之后,中断控制器要进行过滤
2.串口子中断TX0的过滤过程:
2.1.首先,当TX0产生中断后SUBSRCPND中相应的位会被置1
2.2.然后,经过SUBMASK过滤,如果SUBMASK相应的位被置为1,表示屏蔽子中断,置为0表示,接收子中断信号,每一位对应一个子中断源
2.3.接着,经过了SUBMASK过滤后的中断会把SRCPND相应的位置为1
2.4.然后,经过MASK过滤,如果MASK相应的位被置为1,表示屏蔽中断信号,置为0表示接收中断信号,每一位对应一个中断源。有的中断没有子中断,就直接经过SRCPND和MASK来过滤
2.5.通过SUBMASK和MASK的过滤后,就好交给Priority,优先级判断,然后交给处理器处理
2.6.MODE表示中断是快速中断还是普通中断,如果是快速中断,则不会经过优先级判断,优先被处理器处理
中断处理
1.中断处理方式:非向量中断处理方式(2440)和向量中断处理方式(6410/210)
2.非向量中断处理过程:中断程序总入口->保存环境->判断中断源->调用对应的中断源的中断处理程序->恢复环境
3.向量中断处理过程:当中断产生时直接跳转到用户设置好的中断处理程序(初始化中断控制器时设置)->保存环境->设备的中断处理->恢复环境
4.软件需要处理:1.初始化中断源 2.初始化中断控制器 3.中断处理程序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术