首页 > 其他分享 >高通ramdump

高通ramdump

时间:2024-08-28 16:53:03浏览次数:5  
标签:reset crash dump cfg 抓取 高通 qcom ramdump

背景

高通平台下提供了一个工具,专门用来抓取内核死机以后的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 irq
        qcom,s2-timer = <2000>;  ---- 2ms
        qcom,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的字符串对应的文件:

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

标签:reset,crash,dump,cfg,抓取,高通,qcom,ramdump
From: https://www.cnblogs.com/linhaostudy/p/18385110

相关文章

  • 【漫谈C语言和嵌入式027】探索信号处理的秘密:低通滤波器与高通滤波器的深度解析
            在嵌入式系统和数字信号处理领域,滤波器(Filter)是至关重要的工具。它们是用于处理和优化信号的基础组件,能够有效地控制信号的频率分布。滤波器的类型多种多样,其中最为基础且常用的便是低通滤波器(Low-PassFilter,LPF)和高通滤波器(High-PassFilter,HPF)。本文将......
  • 高通pmic voter机制
    前不久在高通SDM450平台接触了voter机制(投票机制)。最近终于得空,结合一个问题简单研究了一下。现将研究流程简单记录一下,由于时间有限,所以是实用为目的,没有做详细的分析,不过结合着这篇分析和源码一起参考,应该能快速地应用voter做一些事情。voter=====第一步是找到voter的......
  • 高通ADSP USB流程
    在高通平台上,ADSP(AudioDigitalSignalProcessor,音频数字信号处理器)可以通过USB接口与主机进行数据传输,以下是大致的ADSPUSB流程:主机发起USB设备请求:主机会通过USB总线发起设备请求,以与ADSP进行通信。ADSP会响应这些请求,并根据请求类型进行相应的操作。配置USB通......
  • 高通C6490 android13 GMS 认证之CtsCarrierApiTestCases
    我们机器是没有SIM卡的,只需要连接wifi。跑CTS测试,CtsCarrierApiTestCases的测试结果都是报没有SIM卡的错误。如下:android.carrierapi.cts.ApnDatabaseTest#testQueryConflictCase fail ThistestrequiresaSIMcardwithcarrierprivilegerulesonit. 解决方法:需要......
  • 高通c6490 为过GMS,修改fingerprint属性
    首先通过adb查看含有fingerprint的属性值lahaina:/$getprop|grepfinger[ro.bootimage.build.fingerprint]:[qti/lahaina/lahaina:11/RKQ1.230607.001/asw06281258:user/test-keys][ro.build.fingerprint]:[qti/lahaina/lahaina:13/PB-A6490ACT-Android13-EDP-/V1.3-202......
  • 智能座舱背后主流车机平台(SA8155/SA8295)的高通Hexagon DSP是什么?
    智能座舱背后主流车机平台(SA8155/SA8295)的高通HexagonDSP是什么?一、高通HexagonDSP的辉煌发展历程高通,作为全球领先的无线通信技术创新者,其处理器技术一直走在行业前列。随着智能手机和物联网设备的普及,对处理器性能的要求日益提升,尤其是在AI和机器学习领域。高通Hex......
  • 高通进dump和抓取解析dump log
    1.触发dump的办法:高通进dump的方式使用指令:echoc>/proc/sysrq-trigger长按power键     有些基线默认是重启,需要进行配置才能使用该方法 3.通过PS-HOLD硬件的方式进入dloader模式抓取dump硬件飞线PS-HOLD将PS-HOLD短接地,手机进入dloader模式,抓......
  • 高通进dump和抓取解析dump log
    1.触发dump的办法:高通进dump的方式使用指令:echoc>/proc/sysrq-trigger长按power键有些基线默认是重启,需要进行配置才能使用该方法通过PS-HOLD硬件的方式进入dloader模式抓取dump硬件飞线PS-HOLD将PS-HOLD短接地,手机进入dloader模式,抓取ramdump短接时......
  • 高通Perflock
    高通的Perflock是Qualcomm公司开发的一项技术,用于优化设备性能和功耗管理。Perflock是一种锁定机制,允许操作系统或应用程序在需要时对处理器的性能状态进行控制,从而确保在关键任务或高性能需求的情况下,处理器能够维持在高性能状态。主要功能和特点性能锁定:Perflock允许应用程......
  • 高通dump ftrace & kernelshark使用
    简介高通ramdump可以解析出ftrace,方便用于追踪快省稳问题。kernelshark是一个可以查看traceevent的图形化工具,方便梳理和观察内核微观行为。trace-cmd是设置读取ftrace的命令行工具,kernelshark既可以记录数据,也可以图形化分析结果。在/sys/kernel/debug/tracing/......