不复位调试的小技巧

发布时间:2024-03-07  

01 前言

本文引用地址:

在产品开发时,经常会碰到在测试过程中或设备出厂后才发现程序异常,但当重新对设备仿真调试时却复现不出现场的问题,或者只能通过保存的日志信息艰难分析代码运行到了何处而导致的异常。 

遇到这种场景,也并非无路可循。原则上只要我们通过调试时,做到代码不被重新下载覆盖, 不被,就可能保留当前程序运行的状态,让 Bug 无处藏身。

02 实现方法

首先,我们将编译完成的工程烧录到 ,保证 中所运行的代码与要仿真的工程代码一致,这样从 MCU 获取的程序位置才能与调试符号信息一致。 

不同的编译器可以通过不同的方法进行设置,但其目的和最终能达到的效果是一致的。我们就对常用的 MDK、IAR、STM32CubeIDE 三种不同编译器分别进行设置,使 MCU 在不的状态下继续调试。

03 MDK

1. 新建一个.ini 文件,在文件中写入以下内容:LOAD %L INCREMENTAL,并加载到Initialization File,同时取消 Load Application at Startup 的选项。

图片

图片

这个脚本的目的是加载编译生成的.axf 文件到 MDK 中,该文件包含 bin 代码和调试相关的各种符号信息,以定位我们的 C 源码。 

关于其语法说明,可参考 MDK 的 uVision User’s Guide。

图片

2. 去掉 Reset after Connect 选项

图片

3. 去掉 Update Target before Debugging

图片

4. 完成上述配置后,就可以在 MCU 不的情况下,像正常调试一样加断点调试了。

04 IAR

使用 IAR 时,无需额外设置,直接使用其自带的功能“Attach to Running Target”即可实现。

图片

05 STM32CubeIDE

在 STM32CubeIDE 中,配置比较灵活,可以复制一个 Debug 的配置,并在这个基础上进行修改。

图片

1. 配置 Debugger->Reset behaviour Type 为 None

图片

2. 在 Debugger->Misc 中取消 Verify flash download 选项

图片

3. 在 Startup->Load Image and Symbols 中编辑下载代码时的操作方式。并取消Download 选项

图片

图片

4. 在 Debug 时,用上述配置好的调试配置,即可同样实现不复位的调试

图片

06 总结

利用上述不复位 MCU 继续调试的方法,能够保全现场的运行状态,重新接上即可对程序进行断点调试、单步执行等操作。对查找 Bug,发现并定位问题点,尤其对不易复现的偶发性故障十分有用。但是当 RDP Level≠0 时,因为已经开启了读保护,所以无法通过上述方法调试

文章来源于:电子产品世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    焊工证理论考试技巧分享,焊工证考试口诀; 焊工证理论考试技巧分享,焊工证考试口诀,考焊......
    电机设置有哪些技巧?;电机设置技巧是电机控制领域的两个核心方面,下面将对它进行解释。 电机设置技巧:电机设置技巧是指在电机控制系统中,针对电机的参数设置和调试技巧,以达到最佳的控制效果。常见的电机设置技巧......
    低压电工证理论考试通关宝典,考试技巧分享; 特种作业考试,低压电工证理论考试这本口诀让复习事半功倍,找到技巧答题。理论80分合格,轻轻......
    使用混合信号或混合域示波器的数字调试技巧;混合信号示波器是一种确定信号逻辑值高还是逻辑值低的数字电,如何进行调试呢,下面安泰测试Agitek就给大家介绍调试混合信号示波器的方法吧! 调试......
    自动化设备(非标)的基本调试技巧;任何机械包括非标自动化设备的基本调试技巧都是'横平、竖直、同心'。首先不管调试任何一个产品,我们都要了解它的特性和客户的技术要求。 1、了解产品特性(包括外观、尺寸......
    新一代显示技术 Mini/MicroLED 芯片测试环节设备需求。基于公司在探针测试技术领域的积累和半导体专用设备行业的经验,公司研发并量产了分选机、曝光机和AOI 检测设备等其他半导体专用设备。 财报......
    M60 单片机的在线仿真与步进、日志调试;我们对M40 定时器0的代码进行步进调试,掌握调试技巧... 一、前期准备: 安装好keil C51 51单片机编程推荐软件,熟悉它,后续stm32同样......
    简单实用!STM32硬件错误的调试技巧;在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。 这说......
    调中出现问题及解决、调试技巧集锦、整机性能评估等。 7、单板硬件测试文档 在单板调试完之后,申请内部验收之前,应先进行自测以确保每个功能都能实现,每项 指标都能满足。自测完毕应出单板硬件测试文档,单板......
    低压电工考试技巧理论+实操,看完考证信心百倍; 低压电工实操考试的所有科目,以下......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>