关于MCU错误追踪的方法,适应无法使用仿真器调试的工作环境,实现错误定位

STM32 在 keil 环境下如何使用 cm_backtrace进行错误追踪_wenzi嵌入式软件 我们在平常使用单片机的时候,往往-CSDN博客

故事背景:

我们在平常使用STM32单片机的时候,往往会碰到程序跑飞的情况,出现hard_fulat等错误,而我们在定位错误的时候,采用的方法往往是连上仿真器,一步一步单步调试,定位到具体的错误代码,再去猜测、排除、推敲错误原因,这样一个过程很是痛苦,而且在实际情况中,很多产品真机调试时必须断开仿真器或者说,问题确实存在,但是极难出现,所以在基于这样一个问题背景下,RTT 的大佬armink开发了一个基于 ARM Cortex-M系列的 MCU错误追踪库,用于帮助开发者解决上述问题。

调试类 - CmBacktrace应用笔记 - 《RT-Thread应用笔记》 - 书栈网 · BookStack

将addr2line 下载好之后,需要将addr2line.exe拷贝到对应工程的build输出文件夹下,在该文件夹下打开命令管理器,跳转到addr2line.exe对应的目录下,然后将addr2line -e rtthread-gd32f4xx.axf -a -f 0803b812 0804041a 080509d2 08050bfc报出的错误地址粘贴后按下回车即可查看到错误发生位置。

C:\Users\Administrator>D:      跳转到D盘

D:\>cd D:\bsp\085\build          跳转到build目录下,该目录下放有addr2line.exe

D:085\build>addr2line -e rtthread-gd32f4xx.axf -a -f 0803b836 0804043e 080509f6 08050c20         输入报出的错误地址回车即可看到错误出现的原因。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值