高通开发-烧写及异常启动分析

板子试产贴片之后,由硬件验证存在烧写USB端口,即交由软件烧入已经验证板子最重要模块的准确性。

1. 烧入软件

  高通烧入软件,现在主要用的QFILE和QMSCT,QPST基本不用于烧写的。其中QFILE适用于软件调试过程中,而QMSCT则适合用于量产一拖几烧入,QMSCT要注意修改其默认配置的XTT,根据自己的需求更改。

2.启动分析

一般购买高通芯片,或者说套片,它包含好几大模块。对于MSM平台来说,比如MSM8937平台,它由多个子系统组成,APPS+RPM+MODEM+WCNSS+LPASS。

APPS:应用处理器,该CPU中固化了PBL,负责下载以及引导系统的启动,当然LK、kernel、android都是在此运行的。

RPM:主要负责电源管理的,比如休眠唤醒,协调多个处理器之间的电源管理。

MODEM:基带处理器,负责2\3\4G通话、数据、短信等业务。

WCNSS:无线连接网络子系统,主要有wifi、BT等。

LPASS:低功耗音频子系统,msm8937的ssc sensor也在这。

 

整个简单的启动过程:APPS的PBL加载并验证SBL1,SBL1初始化内存、EMMC、USB、PMIC还会检验其他镜像。然后到TZ,RPM,LK,然后到kernel,在kernel中启动MODEM和WCNSS,然后启动system。具体详细的流程,去看高通文档。

下面主要讲碰到一些启动异常,如何分析:

第一:烧录,板子插上USB到电脑端,电脑端应该出现烧录端口,忘记具体端口号的,

         若不出现USB端口,一般板子都会预留两个点,短接两个点进入紧急下载模式,要是短接该两个点,USB端口不出现,直接交给硬件去检查问题,不是usb的问题,就是CPU的问题,存在焊接、供电的异常。

        若出现USB端口,但端口号异常,请重新安装USB驱动或者换台电脑试试。

        若出现USB端口且正常,直接用QFILE烧写,若烧写成功,连接调试串口,接上电池,查看启动log,若能跑到kernel,证明板子没有大的毛病,那恭喜,可以进入下一阶段外设调试。

        若烧写异常、失败,QFILE有烧写log可以看到,烧写异常,可以尝试使用LITE和ddr的配置烧写,用ddr配置烧写失败,lite配置成功,那很有可能,DDR该部分存在异常,可能使用的ddr没在高通默认支持列表,或者ddr焊接有问题、ddr供电网络异常、ddr的接线错误,详细对比推荐图纸以及自己的设计图纸。若两个配置都烧写不成功,则查看EMMC,很大可能接触、或者接线有问题。

       烧写成功后,出现了log,且无法查看到LK的log,只能看到SBL1的log,若log存在随机性,且无明显的异常,很大可能是DDR供电网络异常。对于某些平台,SBL1初始化PMIC过程中,会对电池进行检查,若使用的假电池或者电源箱,可能存在无法检测到电池的异常,需要查看PMIC相关文档,修改BAT ID以及热敏电阻的那一快硬件,当然也可以修改SBL1的代码,跳过电池的检测。

    在启动过程中,log能到达lk、kernel,到会出现死机,或者进入dump,可抓dump log去解析,分析死机原因。

   烧写启动过程中,主要讲自己碰到的一些问题,具体现象还是需要提case、增加更多的log去分析,一般来说,板子贴片没问题,DDR、emmc用高通信任列表中的硬件,一般启动都没有什么大问题,log到不了kernel,很大可能为硬件问题。

 

 

 

 

 

你可能感兴趣的:(高通开发)