linux学习记录

一、异常
1.异常类型

2.IRQ中断流程

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

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

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

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

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

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

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

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

相关推荐
我 see your eyes12 小时前
工作软件学习
学习
锅包一切16 小时前
在蓝桥杯边练边学Rust:2.原生类型
开发语言·学习·蓝桥杯·rust
小嘉丶学长16 小时前
【跟小嘉学习经济学】一、微观经济学概述
学习
逆境不可逃16 小时前
【从零入门23种设计模式03】创建型之建造者模式(简易版与导演版)
java·后端·学习·设计模式·职场和发展·建造者模式
专业开发者17 小时前
Wi-Fi 技术学习:基于 IEEE 802.11ax 的 MU-OFDMA 触发帧结构与抓包解析
学习
The_Uniform_C@t218 小时前
PWN | 对CTF WIKI的复现+再学习 (第九期)
网络·学习·网络安全
Hello_Embed18 小时前
Modbus 传感器开发:从寄存器规划到点表设计
笔记·stm32·单片机·学习·modbus
今儿敲了吗18 小时前
24| 字符串
数据结构·c++·笔记·学习·算法
烤麻辣烫19 小时前
正则表达式快速掌握
前端·javascript·学习·正则表达式·html
我命由我1234520 小时前
C++ EasyX 开发,MessageBox 函数参数问题:“const char *“ 类型的实参与 “LPCWSTR“ 类型的形参不兼容
c语言·开发语言·c++·后端·学习·visualstudio·visual studio