谷动谷力

 找回密码
 立即注册
查看: 1227|回复: 0
收起左侧

使用 addr2line 分析 ZigBee JN516x 的 crash stack dump

[复制链接]
发表于 2022-11-25 23:36:25 | 显示全部楼层 |阅读模式
使用 addr2line 分析 ZigBee JN516x 的 crash stack dump

        大家好,我是宇宙洪荒,是专业研究 NXP-ZigBee 的洪荒开拓者。今天给大家带来的是 addr2line。在内核执行过程中偶尔出现崩溃时,addr2line 可用于快速定位出出错的位置,进而找出代码 bug。期待该次分享能帮助到大家。

一、addr2line 是什么
       addr2line (它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。

二、如何获得 addr2line

       Linux 系统一般会集成这个工具,本文重点介绍 Windows 系统下如何获取该工具。方法很多,我这里仅介绍两种方式
       第一种:安装 MinGW(网上教程很多,自行搜索),安装后在其安装目录的 bin 文件夹里会包含 addr2line.exe ,此时只用保证环境变量 path 中包含该路径即可。
       第二种:本博文档案下已存放 addr2line.exe ,可以将其直接拷贝至 C:\NXP 下。

三、addr2line 如何使用

  • 执行 Window + R 命令,输入 cmd ,如下:
2.jpg
  • 进入 C:\NXP,输入 exe -help 可以看到如下介绍:
5.png
  • 这里常用的是以下参数

    • -e :指定可执行映像名称
    • -a :显示函数地址
    • -f :显示函数名称
    例如命令 addr2line -e sample.axf -a -f 6000243d 60002f49 将会显示名称为 sample.elf 的可执行映像,在地址为  6000243d  60002f49 对应的函数名称及源代码信息。执行结果如下:
    C:\NXP>addr2line.exe -e C:\Users\54500\Desktop\i.MXRT106X_John_20210430\project\Objects\sample.axf -f 6000243d 60002f49
    ACMP1_IRQHandler
    C:\Users\54500\Desktop\i.MXRT106X_John_20210430\project/../devices/arm/startup_MIMXRT1062.S:319
    BOARD_InitDebugConsole
    C:\Users\54500\Desktop\i.MXRT106X_John_20210430\project/../board/board.c:44

6.png


四、通过 addr2line 分析ZigBee JN516x 的crash stack dump

      当 JN516x crash 后,将在串口打印输出调用栈信息,通过这些信息可以分析定位出现问题的函数。
         APP: Light Power Up
         EPCR = a9a2d : EEAR = 7
         Stack dump:
         4007ec0 : ffffffff
         4007ec4 : 000ab3dc
         4007ec8 : 00000000
         4007ecc : 000af718
         4007ed0 : 0000fffe
         4007ed4 : 0000000c
         4007ed8 : 000ab3d6
         4007edc : 04000960
         4007ee0 : 00000000
         4007ee4 : ffffffff
7.png

五、ZigBee 参考资料

       参考文档:
           通过 addr2line 分析 ZigBee JN516x 的 crash stack dump.pdf

本帖被以下淘专辑推荐:

  • · zigbee|主题: 38, 订阅: 0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-16 16:29 , Processed in 0.085371 second(s), 41 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表