AssertDump

1. 概述

AssertDump 是思澈公司自研的工具,主要用于保存目标板死机时的内存数据,再借助 TRACE32 软件恢复固件现场并做进一步分析。该工具存放在 固件包 \solution\tools\AssertDump 路径下。

2. 环境配置

AssertDump 免安装,可直接运行于 Windows 系统,如 WinXP、Win7、Win10、Win11 等。

当使用 JLink 读取内存数据时,需要配合 JLink 硬件及其配套软件,建议按如下方式操作:

  • 购买官方 JLink 设备,并安装 SEGGER 官网提供的 JLink Windows 软件。本工具调试使用的版本为 V680a。

  • 在工具的配置文件 AssertDump.ini 中配置 JLinkARM.dll 路径,可通过以下两种方式:

    • 不修改配置文件 AssertDump.ini,直接将 JLinkARM.dll 文件拷贝到工具根目录下。

    • 修改配置文件 AssertDump.ini[COMMON] 项的 JLINKDLL 子项,例如:JLINKDLL=C:\Program Files (x86)\SEGGER\JLink\JLinkARM.dll

3. 功能介绍

../_images/AssertDump_001.png

工具主界面如图所示,主要包括 5 个区域: ① 保存路径及配置文件

  • 保存路径
    配置内存数据的保存路径,默认为工具当前路径。用户可以修改路径,保存数据时会在该路径下创建以当前时间命名的文件夹。后面两个按钮的功能依次为 选择路径打开路径

  • 内存配置
    显示当前读取内存所使用的配置文件。该文件与芯片直接绑定,用户可以临时选择其他配置文件,但该配置不会保存;再次打开工具或切换芯片后,仍会使用默认配置文件。后面两个按钮的功能依次为 选择配置文件修改配置文件

② 设备参数及控制

  • 分类
    用于选择目标板上芯片的大类,例如 SF32LB525 的大类就是 LB52X。

  • 型号
    用来选择目标板上芯片的具体型号。

  • 设备
    用于选择读取内存数据的通道,可以选择 JLink 或串口,参考 ③ 设备选择提示

  • 端口
    设备选择后,此处选择串口号或SN号。

  • 速率
    设备选择后,此处用于选择串口或 JLink 的速率,参考 ③ 设备选择提示

  • 清CACHE
    读取的数据中,部分地址启用了 CACHE,需要清 CACHE 才能读到最新数据,建议勾选该选项。

  • 关看门狗
    如果目标板启用了看门狗,死机后可能会在导出内存数据的过程中重启,此时需要选择关闭看门狗。

  • 唤醒小核
    该项默认起效。

  • 导出
    用于控制数据导出,导出过程中也可以手动结束流程。

③ 设备选择提示

用于指导用户配置读取内存数据的设备及相关参数,具体内容如上图所示。

④ 数据读取信息

显示数据读取过程中的 trace 信息。出现异常时,可以根据这些信息进行排查;带 `[script]` 前缀的内容来自内存读取配置文件。

⑤ 数据读取状态

显示数据读取进度及最终状态。导出失败时显示为红色,成功时显示为绿色。一般来说,进度达到 100% 时,导出的数据即可使用。

4. 使用方法

工具使用较为简单,双击打开工具后,按如下步骤操作:

  • 确认目标板的芯片型号,选择对应的 分类型号

  • 参照 ③ 设备选择提示 的信息,选择设备、端口和速率。

  • 勾选 清CACHE关看门狗

  • 点击 导出,观察 ⑤数据读取状态,等待导出结束。