qualcomm memory dump 抓取方法

Memory dump是系统出现crash时常用的分析故障原因的方法,qualcomm 各子系统运行时,为方便debug,都会开辟ram log和debug variable用于保存各系统运行信息及健康状态,就像飞机黑盒子用于记录飞行器飞行状态。当出现crash时,可以将ram log 、debug variable所在的memory region dump出来分析导致故障的原因。所以当需要分析crash故障、功耗问题等,qualcomm都会要求客户提供正确的memory dump。Memory dump抓取分两种方法,一种是使用trace32 online抓取,这个比较简单,前提是需要trace32工具正确连接到主板jtag,并能正确通信,这样就可以直接读取需要的memory region,另一种方法是通过qpst offline抓取,这里重点讲述qpst offline抓取方式。

 

当系统crash会进入Sahara Memory Dump Mode如下图:


这时qpst会自动抓取memory dump ,如下



Memory dump 信息:

 

pref       base   length               region            file name

-------------------------------------------------------------------

  1 0xFE800000    262144               OCIMEM           OCIMEM.BIN

  1 0xFC100000    131072  RPM Code RAM region          CODERAM.BIN

  1 0xFC190000     65536  RPM Data RAM region          DATARAM.BIN

  1 0xFC428000     16384   RPM MSG RAM region           MSGRAM.BIN

  1 0xFE090000     65536     LPASS LPM region              LPM.BIN

  1 0xF80498F0         8        Pmic PON stat         PMIC_PON.BIN

  1 0xF80498E8         4  Reset Status Region         RST_STAT.BIN

  1 0x0FE91000      2048    DDR Training Data         DDR_DATA.BIN

  1 0x00000000 1073741824       DDRCS0 Memory           DDRCS0.BIN

 

当需要分析系统待机功耗问题,qualcomm需要确认系统是否进入xco shutdown模式,会需要分析rpm ram dump (RPM Code RAM region、RPM Data RAM region、RPM MSG RAM region),这时可以通过将ps_hold快速短地人为进入Sahara Memory Dump Mode

原文地址:https://www.cnblogs.com/liang123/p/6325210.html