高通ramdump

news/2024/9/21 20:50:10/文章来源:https://www.cnblogs.com/linhaostudy/p/18385110

背景

高通平台下提供了一个工具,专门用来抓取内核死机以后的dump信息。如果只是非系统层面的crash(例如底层应用,安卓程序),则不能抓取dump信息。

在阅读一些文档的时候知道有这个功能,但是一直没时间尝试。
介绍

流程为:

1、进入dump模式:系统需要触发crash, 同时机器需要进行warm reset

2、用QPST工具抓取dump:当进入warm reset的时候,QPST可以开始抓取ram dump了,此时电流应该为82.58mA(固定某个值)

3、使用QCAP进行解析。

注意,不要轻易重新上电,会导致现场丢失而错失调试机会。
触发Crash

这里有三种方法可以触发crash,然后进入warm reset:

手动输入命令

输入以下命令

echo c > /proc/sysrq-trigger

之后按下音量下键,就会主动触发crash 和 warm reset,之后就会抓取到ram dump了

路径:

硬件触发法

任何时候,拉低pmic的PS_HOLD引脚不超过200ms,就会触发crash 和 warm reset

错误的驱动

例如:修改驱动代码以及dts。

这个方法还没有验证

在msm-pm660.dtsi中修改

qcom,pon_2 {qcom,pon-type = <1>;qcom,support-reset = <1>;//qcom,pull-up = <1>;  --- 去掉qcom,s1-timer = <0>;   --- Specify if this pon type needs to handle bark irqqcom,s2-timer = <2000>;  ---- 2msqcom,s2-type = <1>;   --- WARM(1)的type//linux,code = <114>; --- 去掉qcom,use-bark;
};

之后再按下音量下键两秒

如果是在vddmin状态下抓取的,可能需要在下面的代码中注释掉按键的触发唤醒,否则抓到的就是唤醒的ram dump,而不是vdd min下的ram dump

kernel/msm-3.18/drivers/platform/msm/qpnp-power-on.c

在qpnp_pon_request_irqs中
/* mark the interrupts wakeable if they support linux-key */if (cfg->key_code) {//enable_irq_wake(cfg->state_irq);--------------注释/* special handling for RESIN due to a hardware bug */if (cfg->pon_type == PON_RESIN && cfg->support_reset)//enable_irq_wake(cfg->bark_irq);--------注释;}

解析ram dump

参考文档80-NR964-54SC(中文) 80-NR964-54

使用CrasScope分析:打开网站会提示调到java官网下载java,按提示安装,并重启浏览器。

1、软件产品在aboot.html的Product项。

2、子系统分析选择部分或者全部

3、选择meta build的路径,即modem代码路径或者单独将需要的symbol文件放到dump抓取到的

log文件夹中,symbol文件的查找可参考下来提示。

 -Summary: 1) You can check your contexts.xml, such as : <file_ref symbol="modem"> <file_name>M8936FAAAANYZQ*.elf</file_name> <file_path>modem_proc/build/ms/</file_path>

在modem的contexts.xml文件中,查找sysbol或者elf的字符串对应的文件:

  • 如果机器的代码跟编译的代码 不一致或者查找到的代码不一致,会提示红字体的解析失败。
  • 成功后会生成一份文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/788624.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QL5010-16-ASEMI逆变焊机专用整流桥QL5010

QL5010-16-ASEMI逆变焊机专用整流桥QL5010编辑:ll QL5010-16-ASEMI逆变焊机专用整流桥QL5010 型号:QL5010 品牌:ASEMI 封装:KBPC-4 批号:2024+ 类型:整流模块 电流:50A 电压:1600V 安装方式:直插式封装 特性:大功率、整流桥 产品引线数量:4 产品内部芯片个数:4 产品…

解决方案 | IrfanView如何滑动滚轮图像缩放?

这是个bug,已经很多人反映了。目前没有比较好的解决方法,还是使用ctrl+滚轮最好。如果需要设置滚轮放大的话,按照下图即可,但是带来一个bug,你无法通过方向键或者菜单的箭头浏览 下一张图片。综上所述,你有3个选择,1 接受使用 ctrl+滚轮进行放大2 设置--关闭”显示所有支…

Python开发工具:VSCode+插件

本篇是 Python 系列教程第 3 篇,更多内容敬请访问我的 Python 合集Visual Studio Code的安装非常简单,就不放这里增加文章篇幅了。 相比PyCharm,VSCode更加轻量,启动速度快。并且搭配Python插件就能实现和Pycharm一样的代码提示、高亮效果。 1 安装插件 安装插件也非常简单…

jmeter之性能测试

性能测试 一、性能测试的介绍 1、定义:通过某些工具或手段来检测软件的某些指标是否达到要求,这就是性能测试。 功能测试:a,b 两个软件,a可以打开,b也可以打开 性能测试:a,b 两个软件,a可以打开8s,b也可以打开2s 说明:b的性能好 2、性能测试是在功能测试之后进行; 3、…

(十九)transformers解码策略

文本生成策略 文本生成对于许多 NLP 任务至关重要,例如开放式文本生成、摘要、翻译和 更多。它还在各种混合模态应用程序中发挥作用,这些应用程序将文本作为输出,例如语音到文本 以及 vision-to-text。一些可以生成文本的模型包括 GPT2、XLNet、OpenAI GPT、CTRL、Transform…

Python开发工具:PyCharm

本文是 Python 系列教程第 2 篇,更多内容敬请访问我的 Python 合集 1 安装 官网下载地址https://www.jetbrains.com.cn/pycharm/,文件比较大(约861MB)请耐心等待双击exe安装安装成功后会有一个30天的试用期,激活教程见先插个眼,有空更新激活教程 2 创建第一个项目图中这句…

thinkPHP6 反序列化

thinkPHP6 反序列化 thinkPHP v6.0.0-6.0.3 环境搭建 新版v6基于 PHP7.1+ 开发 php-7.3.4 ThinkPHP v6.0.3使用composer进行安装 composer create-project topthink/think=6.0.3 tp6.0然后利用 phpstudy 打开框架,简单配置如下子,再同样的道理配置 phpstorm 的调试。 但是万事…

由Flase引起的问题

特别抽象!起因是想用github来托管我的代码,后来发现出现了点错误 fatal: bad boolean config value flase for http.sslverify解决方案: 打开C盘 -> 搜索 .gitconfig -> 在里面修改内容即可再次回到 gitbash 上,再次输入git clone 的指令,非常好,一波未平一波又起 …

自我介绍软工5问

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13228这个作业的目标 创建自己的博客和github账号,养成写博客的好习惯,了解程序员的工作的方式,熟悉markdown自我介…

js的10个使用技巧

js 技巧 01 如果仅在变量为true的情况下调用函数,你就可以使用与(&&)的短路形式作为替代方法。 02 如果期望值不正确,我们可以使用OR(丨丨)短路运算,为变量分配默认值。03 将多个变量赋值 我们可以通过数组解构来对一行中的多个变量赋值。 04 箭头函数 05 对于…

Adam-mini Use Fewer Learning Rates To Gain More

目录概Adam-mini代码Zhang Y., Chen C., Li Z., Ding T., Wu C., Ye Y., Luo Z. and Sun R. Adam-mini: Use fewer learning rates to gain more. arXiv preprint, 2024.概 作者提出一种简化的 optimizer, 在取得和 Adam 相媲美的性能的同时, 只需要一半的内存开销. Adam-mini我…

AP5151线性降压LED恒流芯片 2.7-5.5V 照明手电筒、台灯、矿灯方案

概述 AP5151 是一种低压差、线性降压、 固定输出电流的 LED 恒流驱动器。 除 LED 外,AP5151 无需外接其它元 器件即可构成一个恒流输出的 LED 驱动 电路。 AP5151 内置过热保护功能,可有效 保护芯片,避免结温超过120C时因过热而造成损坏。 AP5151 还集成了 LED 短路 保护、电…