FR3608E 移植CMBacktrack
CMBacktrack 介绍
- CMBacktrack 是朱天龙大神写的错误跟踪组件。
CmBacktrace (Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错误原因自动分析的开源库
移植小说明:
- 官方已经说明好了 FreeRTOS如何移植。写得很详细。
- 我已经移植好的在gitee上:hzhmcu/FR3068E_Demo
下载并切到CMBacktrack分支上。
git clone https://gitee.com/RT-Thread-Mirror/CmBacktrace.git
git checkout CMBacktrack
在main函数当中,初始化组件。
int main( void ){ /* CmBacktrace initialize */
#define HARDWARE_VERSION "V1.0.0"
#define SOFTWARE_VERSION "V0.1.0"
cm_backtrace_init("CmBacktrace", HARDWARE_VERSION, SOFTWARE_VERSION);
...
}
- 在app_task里,放入测试代码:(不要放没除0的测试,可能优化了,不能产生错误)
static void app_task (void * arg)
{
printf("app error\n");
fault_test_by_unalign();
...
测试结果:
分析错误行:
- 复制 *.axf文件
- 粘贴到addr2line当中
addr2line-eCmBacktrace.axf-afpiC080374f2
这大大帮你加快解决hardfualt的问题。