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语言·开发语言·学习
JWASX5 小时前
Java 转 go 学习 - 函数(1)
学习·golang
sunshine22 girl5 小时前
Java学习五 面向对象高级5 内部类3-静态内部类和局部内部类(了解)
java·学习
小师兄吃牛肉5 小时前
什么是R语言?如何快速学习R语言
开发语言·学习·r语言
传奇开心果编程6 小时前
【ArkUI进阶练中学】第5课:编译优化与包体积进
学习·ui·华为·harmonyos
bing.shao6 小时前
让机器从数据中生成本领:诺因Knowin通用具身智能生成式学习架构GLOW深度解析
学习·架构
阳光九叶草LXGZXJ6 小时前
达梦数据库-学习-69-DM9主备集群部署
linux·运维·服务器·数据库·sql·学习
Molesidy6 小时前
【Embedded Development】【高级MCU篇】基于野火STM32H750XBH6_Pro开发板的高级MCU开发学习之1点亮led
stm32·单片机·学习
星恒随风7 小时前
Linux开发工具详解(一):软件包管理、Vim、GCC/G++、Makefile与进度条实战
linux·运维·笔记·学习·vim