视频链接: 【Keil】STM32开发小技巧 - 异常定位库(CmBacktrace)_哔哩哔哩_bilibili

  • 所用开源库

                CmBacktrace(库地址:https://github.com/armink/CmBacktrace

  • 移植与使用(MDK)

    • 移植
      • 添加文件到工程中:将开源库中源码(cm_backtrace)拷贝到自己工程目录下。
      • 在工程里添加源码文件                                                                                                                                     
      • 在工程里添加头文件路径                                                                                 
      • 添加断言宏定义                                                                          
    • 使用
      • 配置                                                                                                                  
      • 屏蔽硬件中断函数重复定义(由于我们在移植时直接使用了汇编文件(cmb_fault.S),该文件在故障时会自动进行HardFault处理)                                       
      • 初始化(必须填写工程名称,用于定位异常位置使用,硬件版本和软件版本可不填
      • 制造异常(非法除0)                                                                                                        
  • 查看异常位置

    • 所需工具(addr2line):将工具拷贝至C盘路径下或其他路径下并添加到系统环境变量   
    • 运行命令行查看:进入工程下含有工程名且后缀为axf文件的路径下执行异常信息中命令
    • 可以看到清楚指明了在main文件的main函数127行位置出现异常,并跳转到了83行的fault_test_by_div0函数                                                                              

     

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐