T5原厂工具抓dump的指导指南

更新时间:2025-08-28 08:10:30下载pdf

BK7258 一键恢复现场工具介绍
用原厂工具

由于T5的双核心设计,开发过程中不可避免的会有一些崩溃的时候,虽然不能保证该环境每次都能 dump 出来,但是关键时候可能会有意想不到的效果。

1. 环境安装

(1)解压BK7258_Qemu.zip,该文件包含了 dump 分析的主要环境。

(2)参照 《BK7258 一键恢复现场工具介绍.ppt》 文件安装相关的依赖环境。

(3)验证环境安装是否正常。压缩包中已经提前放了两个dump日志,具体操作请参照下面步骤

注:压缩包中放了 gcc-arm-none-eabi-10.3-2021.10-win32.exe, 和 python-2.7.18 的安装包,切记安装gcc-arm-none-eabi-10.3-2021.10-win32.exe的路径不能有空格,默认安装路径会有空格,会出一些问题。

(4)如果出现gcc的目录出现乱码找不到时,参考https://github.com/brechtsanders/winlibs_mingw/issues/32,导入环境变量。

(5)如果Win10 下 Eclipse 显示的 Program “arm-none-eabi-gcc” not found in PATH 错误,可以按照以下步骤操作解决:

a. 配置环境变量 PATH

安装完成后,需要将 arm-none-eabi-gcc 的路径添加到系统的 PATH 环境变量中:

(1)右键点击 此电脑 或 计算机,选择 属性。

(2)点击 高级系统设置,然后点击 环境变量。

(3)在 系统变量 下,找到 Path 变量并选中,点击 编辑。

(4)点击 新建,然后将 arm-none-eabi-gcc 所在的目录路径(例如D:\tool_path\GNU_Arm_Embedded_Toolchain_10_2021_10\10 2021.10\bin)添加进去。

(5)点击 确定 以保存更改。

b. 验证配置

完成以上步骤后,可以通过以下方式验证配置是否正确:

(1)打开命令提示符)(power shell)并输入 arm-none-eabi-gcc --version,确认能够正确显示工具链版本。

(2)重新启动 Eclipse,并尝试重新构建项目,看看是否能够成功找到 arm-none-eabi-gcc。完成这些步骤后,Eclipse 应该能够正确识别并使用 arm-none-eabi-gcc。

2. 打开eclipse.exe(D:\tool\BK7258\BK7258_Qemu\eclipse),导入工程,环境搭建,如下:

可以结合BK7258 一键恢复现场工具介绍的PPT一步一步来:
T5原厂工具抓dump的指导指南
T5原厂工具抓dump的指导指南

T5原厂工具抓dump的指导指南

T5原厂工具抓dump的指导指南

T5原厂工具抓dump的指导指南

3. dump 回溯操作

回溯操作主要依赖于 app.elf 文件(这个分为CP0和CP1)和日志。

(1)正常保存日志就行,需要注意下面几点

- 日志里面只能包含一份 dump 日志。(dump 完成后,设备会重启,可能会进行二次 dump 打印,所以需要删掉其他多余,搜关键字:user except :

T5原厂工具抓dump的指导指南

- 日志里面只能包含一个 dump 入口。(dump 日志中往往会同时包含 CP0 和 CP1 的 dump 入口,对应的,如果分析 CP1,则保留 CP1 的入口,分析 CP0 则保留 CP0 的入口,删除另一个。具体看下面截图,高亮部分删除,搜关键字:Current regs)

T5原厂工具抓dump的指导指南

(2)app.elf

cp0 和 cp1 的app.elf 可以分别在下面的目录中找到(这个是生成的)。

T5原厂工具抓dump的指导指南

(3)回溯

安装好环境,准备好日志和app.elf文件后,有没有用就看下面的操作和结果了。

把app.elf 和日志放到目录: eclipse-workspace\bk7258(elf的文件名只能是 app.elf,日志支持.txt 格式)

T5原厂工具抓dump的指导指南

打开 eclipse ,操作回溯, eclipse 工程位于路径:eclipse\eclipse.exe,一切正常的话就可以看到下面的回溯结果。

T5原厂工具抓dump的指导指南

4. 查看死在哪个CPU里

T5原厂工具抓dump的指导指南

Show more call stack info by run: arm-none-eabi-addr2line -e app.elf -a -f 0223085c,在这里往上找最接近的Current regs,如果是:CPU1 Current regs(那么就是死在了CPU1),如果是CPU0 Current regs(那么就是死在了CPU0)

T5原厂工具抓dump的指导指南