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

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

分步详解(加分项)

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

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

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

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

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

    • 跳转执行ISR。

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

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

相关推荐
Me是狗头35 分钟前
化学实验室 HTML(联网可用)
经验分享·青少年编程·html5
Factory_Audit2 小时前
TE范围证书中的具体信息
经验分享
猴子15516813 小时前
长期追踪调研的样本留存是怎么实现的:跨波次对齐、催答调度与质控机制,附五家样本服务实测记录
大数据·经验分享
于眠牧北4 小时前
雷电模拟器9/14搭配charles抓取自带浏览器接口9/14
经验分享·笔记·git
每天get到一点新知识17 小时前
7款电脑数据恢复软件集合!恢复硬盘数据,其实很简单!
经验分享·电脑·数据恢复·电脑知识·电脑小技巧
腾科IT教育17 小时前
HCIE-Datacom通关经验分享 - 毕业一年网工备考心得
网络·经验分享·学习方法·华为认证·hcie·数通
蛋白界小百灵17 小时前
shRNA慢病毒载体设计实践:启动子、发夹结构与敲低效率的工程化权衡
经验分享·生物技术·实验·卡梅德生物·科研实验·载体设计
Go Work18 小时前
我把 @RefreshScope 挂错了类,新值一直灌不进去
经验分享·笔记
bitbrowser19 小时前
谷歌临时邮箱会过期吗?Gmail别名是否可以重复使用?
经验分享·指纹浏览器
泵管家20 小时前
恒压供水控制器原理、选型与应用完全指南
经验分享·自动化