cmbacktrace库下载地址:git clone https://gitee.com/Armink/CmBacktrace.git
CmBacktrace 是什么
CmBacktrace (Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错误原因自动分析的开源库。主要特性如下:
- 支持的错误包括:
- 断言(assert)
- 故障(Hard Fault, Memory Management Fault, Bus Fault, Usage Fault, Debug Fault)
- 故障原因 自动诊断 :可在故障发生时,自动分析出故障的原因,定位发生故障的代码位置,而无需再手动分析繁杂的故障寄存器;
- 输出错误现场的 函数调用栈(需配合 addr2line 工具进行精确定位),还原发生错误时的现场信息,定位问题代码位置、逻辑更加快捷、精准。也可以在正常状态下使用该库,获取当前的函数调用栈;
- 支持 裸机 及以下操作系统平台:
- RT-Thread
- UCOS
- FreeRTOS(需修改源码)
- 根据错误现场状态,输出对应的 线程栈 或 C 主栈;
- 故障诊断信息支持多国语言(目前:简体中文、英文);
- 适配 Cortex-M0/M3/M4/M7 MCU;
- 支持 IAR、KEIL、GCC 编译器;
移植流程:
从git上拉取下载cmpacktrace库
创建工程或打开旧工程
打开项目创建文件添加到工程
打开cmb_vfg.h文件配置如下
打开main函数初始化cmpacktrace
添加测试函数
初始化cmpacktrace功能调用问题函数
打开串口工具或者rtt
异常错误显示
调用上述打印的话
机器码推断出错误文件和行号
文档介绍链接:
git@gitee.com:Armink/CmBacktrace.git