单片机addr2line的使用说明

1,单片机程序挂死了,无法用jlink调试时,我们一般怎么定位呢,我们一般借助外来工具addr2line工具来调式。

当程序挂死时,我们首先编译时选择c99,

单片机addr2line的使用说明_第1张图片

编译后烧写相应的bin文件/csf文件到单片机,烧写后 发现程序挂死,有下面的打印错误提示信息,这个提示信息可以用来调式单片机了。

Bus fault is caused by imprecise data access violationShow more call stack info by run: 
addr21ine -etm4c1294-Dxe.axf -e  0000d9de 0000d9b8 00011386 000084ee

将编译后生成的.csf文件拷贝到安装有addr2line的电脑上,在电脑上运行如下命令,得到对应的反编译信息。

C:\Users\wangdao\Desktop>.\addr2line.exe -e  tm4c1294-Dxe.axf 0000d9de 0000d9b8 00011386 000084ee
Z:\trunk_6000\linecard_ge\APP\project\1LTN4\project/..\src\module\/sfp.c:807

get_sfp_sta

Z:\trunk_6000\linecard_ge\APP\project\1LTN4\project/..\src\module\/task_manage.c:1123

pollstatTask

 这样就可以定位到单片机挂死在get_sfp_sta和pollstatTask函数了。

 

你可能感兴趣的:(keil5开发,单片机,嵌入式硬件)