注册登录APP
钱包APP

[分享] CmBacktrace:解决你的hard fault噩梦

 

作为一个单片机新手,在自己琢磨项目的过程中难免会遇到各种各样的问题。不定时出现的hard fault是每天的噩梦,连接上仿真器单步调试,定位到错误代码再去排查错误实在是费时费力费脑。在无数次程序运行进入死机状态之后,前辈推荐了一个方便实用的专治hard fault的追踪错误小工具:CmBacktrace

那么如何使用呢:

1GitHub上搜索CmBacktrace

 

图片1.png 

2、查看是否是适合自己的Demo

图片2.png 

这边我是使用的ucosii系统,所以我直接下载了Demo试运行了一下。

cm_backtrace_demo.gif 

3、下面进行移植工作:

图片4.png 

这边的GitHub说明应该是没有更新吧,第3点是将下载的工程文件中的cm_backtrace文件夹中的下面四个文件添加至工程:

图片5.png 

然后第4点种提到的“cmb_fault.s 汇编文件”包含在“\cm_backtrace\fault_handler”中,根据自己的环境选择。下面的就跟着步骤一步步操作就完成了移植的基本准备工作。

4、addr2line的安装

图片8.png 

5、将串口连接至PC端,打开串口小助手,运行程序,当程序运行到死机,串口助手便会打印出错误信息,然后运行addr2line就可以了。

附上我的串口助手截图:

图片6.png 

以及运行addr2line之后的截图:

图片7.png 

 

 







6条回复

  • 用户头像
    扶不上墙的文艺青年 · 18-08-30
    写的真好
  • 用户头像
    折耳猫 · 18-08-30
    这个小工具 CmBacktrace 能解决工程师的很多问题
  • 用户头像
    Merak作者 · 18-08-29
    不知道为什么…之前编辑的一大段都没有了,也不能重新编辑了,完整版见长评==
    收起
    • ·
      用户头像
      折耳猫 · 18-08-30
      啊,现在正文和你的长评是一样的呀
      收起
      • ·
        ·
        用户头像
        Merak作者 · 18-08-30
        尴尬了 后来发现可以编辑正文 我又重新编辑了一下
  • 用户头像
    Merak作者 · 18-08-29

    长评CmBacktrace:解决你的hard fault噩梦

    作为一个单片机新手,在自己琢磨项目的过程中难免会遇到各种各样的问题。不定时出现的hard fault是每天的噩梦,连接上仿真器单步调试,定位到错误代码再去排查错误实在是费时费力费脑。在无数次程序运行进入死机状态之后,前辈推荐了一个方便实用的专治hard fault的追踪错误小工具:CmBacktrace

    那么如何使用呢:

    1GitHub上搜索CmBacktrace

     图片1.png

     

    2、查看是否是适合自己的Demo

     图片2.png

    这边我是使用的ucosii系统,所以我直接下载了Demo试运行了一下。

    cm_backtrace_demo.gif 

    3、下面进行移植工作:

    图片4.png 

    这边的GitHub说明应该是没有更新吧,第3点是将下载的工程文件中的cm_backtrace文件夹中的下面四个文件添加至工程:

    图片5.png 

    然后第4点种提到的“cmb_fault.s 汇编文件”包含在“\cm_backtrace\fault_handler”中,根据自己的环境选择。下面的就跟着步骤一步步操作就完成了移植的基本准备工作。

    4、addr2line的安装

     图片8.png

    5、将串口连接至PC端,打开串口小助手,运行程序,当程序运行到死机,串口助手便会打印出错误信息,然后运行addr2line就可以了。

    附上我的串口助手截图:

    图片6.png 

    以及运行addr2line之后的截图:

    图片7.png 

     

     

作者
用户头像
文章 32关注 7粉丝 19
相关文章
联系客服