常见面试题——中断是如何产生的

"中断是硬件或软件向CPU发出的一个异步事件请求,让CPU暂停当前任务去处理更紧急的事件,处理完后再恢复原任务。"

分步详解(加分项)

  • 中断源请求:外设(如定时器、UART、GPIO)或软件触发中断信号,发送给中断控制器(如NVIC)。

  • 中断控制器仲裁:NVIC检查该中断是否被使能、优先级是否足够高、是否有更高优先级中断正在处理。若通过,则向CPU核心发送中断请求。

  • CPU硬件自动响应:CPU在当前指令执行完毕后,识别中断信号,自动完成:

    • 压栈保存现场(PC、LR、PSR等寄存器);(寄存器上下文保存)

    • 根据中断号从中断向量表取出ISR入口地址;(栈指针地址切换)

    • 跳转执行ISR。

  • 执行ISR:程序员编写的C函数,做必要处理(清标志、读数据、设置标志等),要求短小快速。

  • 中断返回 :ISR执行 BX LR 或等效指令,CPU硬件出栈恢复现场,继续执行原任务。

相关推荐
xuhaoyu_cpp_java8 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
卡梅德生物科技小能手17 小时前
卡梅德生物科普MCAM(黑色素瘤细胞黏附分子)
人工智能·经验分享·深度学习
huangdong_17 小时前
京东商品图片与视频采集技术深度解析:m3u8视频合并、SKU图提取
经验分享·音视频
BomanGe118 小时前
NSK高刚性精密滚珠丝杠PFT4006详析
经验分享·规格说明书
xuhaoyu_cpp_java18 小时前
项目学习(三)代码生成器
java·经验分享·笔记·学习
智者知已应修善业19 小时前
【51单片机初始化D5-D8亮,每按键按下D1到D4全亮,再按下恢复,如此循环】2024-3-26
c++·经验分享·笔记·算法·51单片机
高校网站建设群系统EduCMS20 小时前
网站群国产化改造升级服务公司,深圳信科网络科技
经验分享
BomanGe221 小时前
NSK直线导轨LH55EL与NH55EM替代指南
前端·javascript·数据库·经验分享·规格说明书
智者知已应修善业21 小时前
【proteus 74160实现模60计数器模41计数器】2024-5-27
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程