没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式系统中MCU不复位调试技巧的应用笔记
需积分: 5 0 下载量 122 浏览量
2024-12-13
09:02:45
上传
评论
收藏 598KB PDF 举报
温馨提示
内容概要:本文档主要探讨了嵌入式系统开发中常遇到的问题——由于现场条件变化导致难以重现错误,特别是在测试阶段发现的问题以及设备出厂后的异常现象。针对这一情况,作者介绍了一种避免复位MCU进行调试的小技巧。具体步骤涵盖了MDK、IAR、STM32CubeIDE三个主流IDE下的详细设置指导,通过保持MCU的状态不变来锁定问题发生的具体位置。 适合人群:对于需要深入了解嵌入式开发过程特别是硬件级问题排查技巧的专业人士来说非常有价值,特别是初级和中级嵌入式工程师。 使用场景及目标:在面对难以重现的现场故障或是偶发性的软件BUG时,可以使用此方法快速找到问题的根本原因。此外,它还有助于优化程序性能、提高代码质量和稳定性。 其他说明:值得注意的是,如果RDP级别设为非零值,则因已启用读保护机制而不允许采取这种方法。另外,该技术手段要求开发者有一定的MCU基础知识及对应编译环境的操作经验。
资源推荐
资源详情
资源评论
LAT1325
Local Application Tips
LAT1325 – Rev 1.0 – Sep. 2023
不复位调试的小技巧
关键字:复位,调试
1. 前言
在产品开发时,经常会碰到在测试过程中或设备出厂后才发现程序异常,但当重新对设备
仿真调试时却复现不出现场的问题,或者只通过保存的日志信息艰难分析代码运行到了何处而
导致的异常。
遇到这种场景,也并非无路可循。原则上只要我们通过仿真器调试时,做到代码不被重新
下载覆盖,MCU 不被复位,就可能保留当前程序运行的状态,让 Bug 无处藏身。
2. 实现方法
首先,我们将编译完成的工程烧录到 MCU,保证 MCU 中所运行的代码与要仿真的工程代
码一致,这样从 MCU 获取的程序位置才能与调试符号信息一致。
不同的编译器可以通过不同的方法进行设置,但其目的和最终能达到的效果是一致的。我
们就对常用的 MDK、IAR、STM32CubeIDE 三种不同编译器分别进行设置,使 MCU 在不复
位的状态下继续调试。
3. MDK
1. 新建一个.ini 文件,在文件中写入以下内容:LOAD %L INCREMENTAL,并加载到
Initialization File,同时取消 Load Application at Startup 的选项。
资源评论
冻结的鱼
- 粉丝: 2300
- 资源: 186
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 快速定制中国传统节日头像(源码)
- hcia 复习内容的实验
- 准Z源光伏并网系统MATLAB仿真模型,采用了三次谐波注入法SPWM调制,具有更高的电压利用效率 并网部分采用了电压外环电流内环 电池部分采用了扰动观察法,PO Z源并网和逆变器研究方向的同学可
- 海面目标检测跟踪数据集.zip
- 欧美风格, 节日主题模板
- 西门子1200和三菱FXU通讯程序
- 11种概率分布的拟合与ks检验,可用于概率分析,可靠度计算等领域 案例中提供11种概率分布,具体包括:gev、logistic、gaussian、tLocationScale、Rayleigh、Log
- 机械手自动排列控制PLC与触摸屏程序设计
- uDDS源程序publisher
- 中国风格, 节日 主题, PPT模板
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功