linux学习记录

一、异常
1.异常类型

2.IRQ中断流程

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

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

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

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

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

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

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

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

相关推荐
优雅的潮叭2 小时前
c++ 学习笔记之 shared_ptr
c++·笔记·学习
am心2 小时前
学习笔记-用户下单
笔记·学习
微露清风2 小时前
系统性学习C++-第二十二讲-C++11
java·c++·学习
进阶小白猿3 小时前
Java技术八股学习Day20
java·开发语言·学习
renhongxia13 小时前
学习基于数字孪生的工艺参数优化
学习
gjf05_054 小时前
人该怎样活着呢?版本68.6
学习
GISer_Jing4 小时前
AI Agent 智能体的“深度思考”与“安全防线”
人工智能·学习·安全·aigc
我命由我123455 小时前
充血模型与贫血模型
java·服务器·后端·学习·架构·java-ee·系统架构
时间会给答案scidag5 小时前
Spring AI Alibaba 学习day01
人工智能·学习·spring
风送雨6 小时前
FastAPI 学习教程 · 第4部分
学习·fastapi