当前位置: 首页 > news >正文

异常、崩溃、复位过程详解

1、崩溃的流程:
中断会有中断入口,硬件检测到异常(比如检测到空指针操作等)时,根据中断向量表,执行对应的中断处理函数,这里可以打印崩溃信息,配置寄存器,可以马上软件复位。也可以while(1)空跑,等待看门狗复位。

2、崩溃的产生一般是硬件主动检测到的,硬件 PMP 单元自动检测。比如PMP 配置了 0x0 地址区域无读写执行权限,当操作空指针时,就会触发异常。

跳飞就是跑飞,访问非预期地址。


3、中断关闭后,HardFault/NMI/Reset 仍能触发,其他异常会升级为HardFault,只能屏蔽部分中断。
4、当异常发生时,硬件自动完成以下操作:
保存当前上下文(R0-R3, R12, LR, PC, xPSR)到栈
从向量表读取对应异常处理函数地址
将该地址加载到 PC 寄存器
跳转执行异常处理函数

5、复位流程:
1)软件复位:执行指令:写 0xCAFE000A 到复位寄存器,复位控制器检测到魔数后,拉低RST信号,硬件电路实现复位功能,不需要CPU参与,通过与非门/或非门,当 RST=0 时强制输出特定值,把所有触发器同时复位。寄存器会重置,PC指向复位地址,比如0x30000000。接下来就是重新启动。
2)硬件复位:通常是发生异常时,CPU卡住,一般是利用看门狗来实现,看门狗超时,会拉低RST信号,之后的流程和硬件复位是一样的;

http://www.jsqmd.com/news/285399/

相关文章:

  • java_ssm61派斯学院高校教材管理系统
  • sql 性能调优
  • java_ssm62海洋馆水族馆管理系统
  • 学长亲荐10个AI论文网站,MBA论文写作必备!
  • AI应用架构演进:从信息顾问到智能执行者的实战指南
  • java_ssm63牙科诊所项目预约管理系统
  • MySQL 数据库管理入门:从创建到删除(T1) - 详解
  • java_ssm64电子病历系统_r4pwo
  • 终极对决:中网、麦肯锡、华与华,谁才是中国B2B企业转型的最强引擎?
  • java_ssm56校园电动车租赁管理系统
  • B2B品牌资产数字化:盘点那些能让技术积淀转化为溢价能力的战略伙伴
  • java_ssm57校园零食商城网络购物平台
  • VS Code常用插件汇总
  • 新能源赛道超车必看:谁是助力工业巨头卡位高价值产业链环节的实战派?
  • 技术演进中的构建沉思-259 Ajax:浏览器历史管理
  • java_ssm58模型玩具商城交易平台
  • SSD的**数据驻留与自刷新机制**,
  • 未来五年企业认准的证书,持证人薪资涨幅有多少?
  • java_ssm55校园奶茶饮品点单系统网络销售平台
  • 两个有序集合
  • ArcGIS大师之路500技---064通过字段计算器获得要素几何属性
  • 告别听歌枷锁 R3PLAY + cpolar 实现真正的听歌自由
  • ArcGIS大师之路500技---065shp文件形状数与表记录数不一致的修复方法
  • rust语言lint工具
  • 揭秘!2026 年谷歌独立站建设优化外贸营销推广公司 TOP3(权威评测)
  • 情感分析不再难:AI原生应用开发全指南
  • 揭秘!2026 年谷歌独立站建设优化外贸推广公司 TOP3(权威评测)
  • 【信创-k8s】麒麟V11使用containerd2.1.5全离线安装k8s1.32.11+KubeSphere - 天行1st
  • Spring AI学习:配置redis向量数据库RAG实践
  • edu115 EF