linux学习记录

一、异常
1.异常类型

2.IRQ中断流程

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

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

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

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

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

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

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

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

相关推荐
q***72871 天前
Golang 构建学习
开发语言·学习·golang
蓝桉~MLGT1 天前
Python学习历程——文件
python·学习·策略模式
循环过三天1 天前
7.5、Python-匿名函数lambda
笔记·python·学习
大大水瓶1 天前
Nginx学习
学习·nginx·dubbo
jiushun_suanli1 天前
FPGA(现场可编程门阵列)详解
经验分享·学习·fpga开发
虫洞没有虫1 天前
Go语言学习笔记(二)
笔记·学习
AA陈超1 天前
ASC学习笔记0001:处理目标选择系统中当Actor拒绝目标确认时的调用
c++·笔记·学习·游戏·ue5·游戏引擎·虚幻
AI研一研1 天前
如何快速学习知识、查找要点、把知识读“薄”、读“精”?
人工智能·学习
rannn_1111 天前
【Javaweb学习|黑马笔记|Day5】Web后端基础|java操作数据库
数据库·后端·学习·javaweb
AA陈超1 天前
ASC学习笔记0022:在不打算修改属性集时访问生成的属性集
c++·笔记·学习·ue5·虚幻引擎·unreal engine