linux学习记录

一、异常
1.异常类型

2.IRQ中断流程

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

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

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

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

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

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

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

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

相关推荐
EnglishJun4 小时前
Linux系统编程(二)---学习Linux系统函数
linux·运维·学习
im_AMBER4 小时前
Leetcode 115 分割链表 | 随机链表的复制
数据结构·学习·算法·leetcode
小陶的学习笔记4 小时前
python~基础
开发语言·python·学习
学编程的闹钟4 小时前
92【<h1-h6>指定文字大小】
学习
森之鸟4 小时前
【我的经济学基础01-宏观经济】
学习
我的xiaodoujiao4 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 46--撰写 README项目说明文档文件
python·学习·测试工具·pytest
第七序章4 小时前
【Linux学习笔记】初识Linux —— 理解gcc编译器
linux·运维·服务器·开发语言·人工智能·笔记·学习
学编程的闹钟4 小时前
99【html与php的混写】
学习
-Springer-5 小时前
STM32 学习 —— 个人学习笔记5(EXTI 外部中断 & 对射式红外传感器及旋转编码器计数)
笔记·stm32·学习
魔力军5 小时前
Rust学习Day3: 3个小demo实现
java·学习·rust