ESP32 崩溃后调试信息定位到源码方法

电子说

1.3w人已加入

描述

Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.re  1 register dump:

PC      : 0x400897e8  PS      : 0x00060130  A0      : 0x800db65b  A1      : 0x3ffcb240  

A2      : 0x00000148  A3      : 0x3ffcb2bc  A4      : 0x00000003  A5      : 0x0000ff00  

A6      : 0x00ff0000  A7      : 0xff000000  A8      : 0x00000000  A9      : 0x00000148  

A10     : 0x00000030  A11     : 0x00000000  A12     : 0x00000001  A13     : 0x3ffc4544  

A14     : 0x00000000  A15     : 0x3ffd809c  SAR     : 0x00000017  EXCCAUSE: 0x0000001d  

EXCVADDR: 0x00000148  LBEG    : 0x40089d19  LEND    : 0x40089d29  LCOUNT  : 0xffffffff  

 

 

Backtrace: 0x400897e5:0x3ffcb240 0x400db658:0x3ffcb260 0x400db762:0x3ffcb280 0x400d2f9e:0x3ffcb2a0 0x400d327b:0x3ffcb2f0 0x400d5129:0x3ffcb390 0x400dcb75:0x3ffcb3b0

arduino 没有直观的调试工具,但一起发布的esp32库带有简单调试工具,可以定位源码

第一步。找到直接电脑上安装的目录,找到工具位置
C:UsersAdministrator>cd C:UsersAdministratorAppDataLocalArduino15packagesesp32toolsriscv32-esp-elf-gccesp-2021r2-patch5-8.4.0bin 

第二步:C:UsersAdministratorAppDataLocalArduino15packagesesp32toolsxtensa-esp32s3-elf-gccesp-2021r2-patch5-8.4.0bin>xtensa-esp32s3-elf-addr2line -pfiaC -e D:temparduinosketches6ED08B49E4940DB8904DF69A9D157172GPS_SIM.ino.elf
0x400897e8

输入完整后回车,就回给出源码中的位置。命令格式是 xtensa-esp32s3-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS

Backtrace 里的地址就是,也可以是PC的,反正多试几个地址。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分