首页 > 其他分享 >在无法直接捕获日志时,如何提取系统崩溃的DUMP文件

在无法直接捕获日志时,如何提取系统崩溃的DUMP文件

时间:2024-08-19 10:54:26浏览次数:8  
标签:文件 EPAT DUMP dump 死机 捕获 Flash 日志 USB

面对EC7XX系列芯片那“寸土寸金”的Flash空间,我们在处理异常或死机情况时,无法直接将整个RAM内容无差别地转储(dump)到Flash中以供后续详尽分析。

咱们不能像玩618系列那样,随便把RAM里的内容一股脑儿往Flash里倒,毕竟空间有限嘛。

遇到系统异常或“罢工”的时候,咱们得玩点高级的,得学会“抓重点”。

本文适用于合宙7xx芯片系列模块,例如718p/716s 

我采取了一种更为精炼而高效的方法:专注于捕获并保存关键性系统信息至Flash中。

用户随后可以将这些从Flash中提取的关键数据发送至计算机进行进一步分析,从而在不牺牲系统

正常运行所需Flash空间的前提下,实现对潜在死机问题的有效追踪与解决。

一、准备


csdk需要更新到2024年7月9日之后的版本
luatools更新到2.2.29,目前未发布,不影响使用,只是无法自动获取flashdump
flashtools更新到专用版本 FlashTools_hardfault.7z
EPAT工具更新到EPAT_V1.3.262.573 EPAT_V1.3.262.573.zip

二、如何开启

LuatOS开发
luatos脚本加入mcu.hardfault(3)

三、如何确认保存了死机信息


ecFlashDumpOccuredCheck(),此接口返回值为 ture,则说明芯片因异常而重启
在 dump 数据从 Flash 中读出来后,建议擦除一下 Flash dump 空间

四、死机后如何获取数据


方法一:
代码里从flash中读出16KB数据,然后通过串口/USB/网络等方式上传,串口/USB方式参考example_flash_dump

方法二:
luatools升级到2.2.29,可以自动读出并保存成文件,但是USB要能正常使用

方法三:
通过flashtools读取,USB或者UART1留出即可,以USB为例

选择好prj file和binpkg文件

在readback界面里选择hardfault dump

操作模块进入烧录模式,点击start即可,文件保存在binpkg所在目录

五、数据如何解析


项目编译生成目录里找到comdb.txt,如果对方提供了soc文件,解压出comdb.txt
EPAT里确保db文件是上述的comdb.txt,在主选项栏‘Log‘选项中可看到’
Exception Info‘的子选项,

 选中此选项后会弹出 dump 文件处理窗,选择对应的 dump 文件后,会在 Excep Info 窗里显示解析后的 dump 数据,如图所示。

 详细资料获取请点击: www.openluat.com 

 

 

标签:文件,EPAT,DUMP,dump,死机,捕获,Flash,日志,USB
From: https://blog.csdn.net/zibo_yun/article/details/141255297

相关文章

  • Oracle 12c后enable_ddl_logging的日志位置变化
     Oracle12c后enable_ddl_logging的日志位置变化 先吐个槽,enable_ddl_logging功能是OracleChangeManagementPack的一部分,需要作为单独的许可证购买,要单独花钱......开启enable_ddl_logging功能,在11g中,ddl操作将以XML格式被记录在ADR_HOME/trade/alert_<SID>.log文件中......
  • 【项目】多设计模式下的同步&&异步日志系统(二)
    继上文对日志系统的介绍,并且实现了日志等级、日志消息的定义、以及格式化消息等。由这三个模块就能完整的输出一条消息。但是考虑到日志消息不可能全部都通过显示器展示。本项目针对落地方式,也进行多种编写,以供使用。消息落地类(简单工厂模式)消息落地的方式标准输出文件按......
  • 【项目】多设计模式下的同步&&异步日志系统(三)
    继前俩次完成了日志系统的等级类、消息结构以及格式化消息,并且将格式化的数据实现落地。落地存在同步和异步的落地方式。同步:本线程生成消息,并且进行IO写。异步:线程生成消息,交给子线程写。为此实现了双缓冲区用来减少异步带来的频繁申请锁释放锁减低效率。本文继续实现异步......
  • .NET Core 里的优秀日志框架Serilog、NLog、Log4Net、Microsoft.Extensions.Logging
    在.NETCore中,Serilog、NLog、Log4Net、Microsoft.Extensions.Logging都是流行的日志记录框架,它们各自具有不同的特点和用法。以下是对这些日志框架使用方法的概述:目录1.Serilog2.NLog3.Log4Net4.Microsoft.Extensions.Logging1.Serilog特点:可配置性强,支持链式......
  • bat 检查某个补丁是否安装成功 ,并将结果输出到日志1.log,支持多个补丁,每次运行log文件
    以下是一个可以检查多个补丁是否安装成功,并将结果输出到 1.log 文件(每次运行重新生成)的BAT脚本示例:bat@echooffrem清空日志文件del1.logrem定义要检查的补丁列表setpatches=KB123456KB789101KB234567rem遍历补丁列表进行检查并输出结果到日志for%%pin......
  • 北漂日志第1话:惨淡销量、后续发展
    北漂日志第1话:惨淡销量、后续发展简单介绍下作者背景:北漂两年,在一家小公司任职后端岗位热爱编程,尝试开发App,打造品牌,实现副业转正目前发布的产品有:离线背单词应用《深海记词》开发选择开发一款离线App是一个不错的选择,尤其是对于没有经验的独立开发者。不需要考虑服务器......
  • Ropdump:针对二进制可执行文件的安全检测工具
    关于RopdumpRopdump是一款针对二进制可执行文件的安全检测工具,该工具基于纯Python开发,是一个命令行工具,旨在帮助广大研究人员检测和分析二进制可执行文件中潜在的ROP小工具、缓冲区溢出漏洞和内存泄漏等安全问题。功能介绍1、识别二进制可执行文件中的潜在ROP小工具。2......
  • centos7系统msyqldump 客户端安装
    https://dev.mysql.com/downloads/ 因为我是下载mysql5.7要在归档包里查找 选择对应的安装版本: 下载如下rpm包,下载地址:https://downloads.mysql.com/archives/community/mysql-community-common-5.7.20-1.el7.x86_64.rpmmysql-community-libs-5.7.20-1.el7.x86_64.......
  • 基于JSP的九宫格日志网站
    你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。开发语言:Java数据库:MySQL技术:JSP+JavaBeans+Servlet工具:Eclipse、Navicat、Maven系统展示首页管理员功能模块用户功能模块论坛管理摘要本文详细介绍了基于JSP技术的九宫格日志网站,该系统以B/S结......
  • SpringBoot整合日志功能(slf4j+logback)详解
     目录一、日志门面与日志实现1.1什么是日志门面和日志实现?1.2为什么需要日志门面?二、简介三、日志格式四、记录日志4.1使用日志工厂4.2 使用Lombok的@Slf4j注解五、日志级别5.1日志级别介绍5.2配置日志级别5.3指定某个包下的类使用某个级别5.4占位符打......