linux学习记录

一、异常
1.异常类型

2.IRQ中断流程

1.cpu每个指令周期检查是否发送异常;

2.若发现异常,保存CPSR(程序状态寄存器),将当前处理模式设置为ARM、IRQ模式,将被打断应用程序地址的下一个指令保存到LR寄存器,例如当前程序地址为0x6000008,LR为0x6000004,即下一个指令的地址;

3.PC指针指向0x18,程序到0x18取出指令,这个指令跳转到中断异常处理函数;

4.中断异常处理函数中,分三步处理

①保护现场:寄存器、CPU状态入栈;

②根据中断号,跳转到对应的中断处理函数中执行;

③执行完毕恢复现场:寄存器、CPU状态出栈

5.恢复现场后,PC指向原来中断的地方,重新回到断点执行程序

相关推荐
Shaoxi Zhang28 分钟前
JAVA学习笔记035——对象和JSON格式
java·笔记·学习
陈皮波比茶1 小时前
Redis学习
数据库·redis·学习
minglie13 小时前
espidf的esp32版的webClient
学习
学运维的Kysan3 小时前
暑假运维学习打卡第二十五天8.16
学习
键盘飞行员4 小时前
Flutter App 全套实战学习计划:从零搭建到 APK 部署
学习·flutter
会编程的吕洞宾5 小时前
DeepAgents In Action学习(Second)
android·java·学习
我爱cope6 小时前
【计算机网络 | 数据链路层7:VLAN:一台交换机如何划分多个逻辑局域网?】
网络·学习·计算机网络
babe小鑫7 小时前
2026信管专业学习数据分析的价值
学习·数据挖掘·数据分析
编程圈子7 小时前
电机驱动开发学习25. 弱磁控制与全速域增益调度
驱动开发·学习
Be for thing8 小时前
【嵌入式成长3】STC89C51外部中断|中断原理、寄存器、中断服务函数
单片机·嵌入式硬件·学习