zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    线上服务被干爆了,竟然是日志的锅!!
    求你了,不要再在对外接口中使用枚举类型了!
    深坑啊!同一个Spring AOP的坑,我一天踩了两次!
    自定义注解!绝对是程序员装逼的利器!!
    20.flask博客项目实战十五之蓝图
    19.flask博客项目实战十四之 Ajax
    18.flask博客项目实战十三之国际化和本地化
    17.flask博客项目实战十二之处理日期和时间
    16.flask博客项目实战十一之Bootstrap美化站点
    15.flask博客项目实战十之发送邮件
  • 原文地址:https://www.cnblogs.com/liang123/p/6325210.html
Copyright © 2011-2022 走看看