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

调试学习章节

重要的3张图片

一.CPU模式

Thread:正常运行时,处于Thread模式

Handler:发生异常时,进入Handler模式

二.SP寄存器

代码里使用SP寄存器时,它可能是MSP或PSP,这由CONTROL寄存器决定:

一般而言, 裸机只使用MSP, RTOS里任务使用PSP, 异常处理函数必定使用MSP

栈的使用:

Thread模式下:可以使用MSP、PSP

Handler模式下:必定使用MSP

三.栈帧

栈帧指的是当异常发生时,硬件会帮我们自动把一些寄存器压栈,这些寄存器被称为栈帧。

说明

当异常发生时,硬件在自动压栈的同时,会将 LR(链接寄存器)赋值为一个特殊的“异常返回标志”(EXC_RETURN),而不是保存普通函数调用的返回地址。

当异常处理函数执行完毕,CPU 执行 BX LR 指令试图跳转到 LR 所存的地址时,它发现该值是一个 32 位的特殊值(而非普通的 PC 地址),于是硬件不会真的去该地址取指,而是触发“异常返回流程”:从堆栈中自动弹出(恢复)之前硬件压栈的寄存器,并将 PC 设置为被中断前的下一条指令地址,从而实现无缝恢复现场。

根据这个特殊值,我们可以发现:

bit[0]:1

bit[1]:0

bif[2]: 1:说明发生异常前的sp为psp;0:说明发生异常前的sp为msp,但此时异常时sp为msp

bit[3]: 1:说明发生异常前,cpu为Thread模式;0:说明发生异常前,cpu为Handler模式

bit[4]: 1:说明使用了FPU,用的栈帧多一些寄存器(如上图);0:说明没使用FPU,用的栈帧(如上图)。

四.BUG

当发生bug时,观察sp指向的栈

1.看PC值

2.看LR值

3.如果PC和LR都被破坏了的话,看疑似LR值

。bit0肯定为1,因为为1才是Thumb指令,Cortex-M系列只支持Thumb指令

。一般为0x08开头,因为位于ROM上

。addr-4:为BL或者BLX指令

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

相关文章:

  • Win11 26H2深度精简优化指南:性能提升与兼容性保障
  • WSL2深度配置:打造高效Windows-Linux开发环境
  • nrfutil 2.3.0 官方Python源码包,支持nRF52/nRF53芯片串口与蓝牙DFU固件升级
  • TVS管电路保护:选型、失效分析与实战指南
  • OCR技术核心原理与工业级应用实践指南
  • 信奥异或构造题P11798解析:从性质推导到C++实现
  • 2026年 佛山马赛克瓷砖源头厂家推荐榜单:艺术/金属/大理石/铜/不锈钢马赛克,游泳池马赛克拼花及夜光创意精选 - 甄选服务推荐
  • Windows消息机制:SendMessage与PostMessage深度解析
  • Windows 11官方主题获取与使用全指南
  • 图片去水印实战指南:从工具选择到高级技巧
  • 2026年7月头部SMT贴片机直销厂家哪家专业,波峰焊机/AOI/激光打标机,SMT贴片机直销厂家推荐 - 品牌推荐师
  • C++海量数据处理:位图与布隆过滤器原理、实现与实战应用
  • ADB工具包在LuckFox Pico Plus开发板上的应用与优化
  • C/C++笔试核心:从指针内存到多态并发,构建面试硬核知识体系
  • 2026年7月亲身到店探访贵阳亨得利官方名表服务中心|全新官方地址及客服热线 - 亨得利官方
  • AI开发的五种主流模式:从HTTP请求到低代码实践
  • AI Harness工程体系:大模型生产力转化关键技术解析
  • MATLAB鲸鱼算法优化LSTM时间序列预测完整实现:含数据、代码与评估脚本
  • AI Agent Skills:提升开发效率的10个核心技能
  • VMware虚拟机Windows 11硬盘扩容实战与优化
  • 2026 年当下,杭锦旗比较好的上开式铸铁闸门企业推荐,别再用老旧门了!它如何彻底解决你的安全隐患? - 企业信息推荐【官方】
  • 高效技能搜索方法论与资源管理实战指南
  • MySQL死锁排查与解决方案实战指南
  • AI智能体技能优化:核心技能筛选与性能调优实践
  • 2026年ABS风口型材实力之选:空调出风口型材、塑钢风口型材、一体化风口型材制造企业 - 企业推荐官【官方】
  • 英特尔锐炫Pro B70显卡:AI性能翻倍的秘密与优化指南
  • 中文文献管理终极指南:用茉莉花插件快速抓取CNKI元数据
  • 同城代驾管理软件,夜间订单限流防崩溃优化教程
  • SpringBoot开发的校园求职平台源码:含完整数据库、文档与部署说明
  • Gemini Spark:macOS文件自动化与AI整合技术解析