一:整体流程
对于高通SOC启动流程,这里是框架图;
可以看到,算是比较复杂的,通过梳理,大体分为四个过程,PBL-》XBL-》ABL-》内核,下面详细介绍每个过程;
二:流程梳理
PBL
PBL阶段是由高通自己实现的,代码不开源,实现的功能就两点:一是通过枚举的方式去选择启动方式,二是加载SBL镜像;如果启动异常会虚拟出9008端口用于紧急下载模式;
XBL
- XBL阶段是扩展引导加载程序,通过PBL引导加载至内存中,主要工作室对硬件环境初始化,从flash中加载RPM,QSEE等镜像到内存中兵执行初始化,该阶段会进行项目,板级,器件等区分,并将区分的信息通过数据结构传递到ABL;
- XBL阶段的初始化入口为abl1_main_ctl()中,函数调用位于sbl1.S中,实现位于sbl1_mc.c中,流程如下图:(@四儿家的小祖宗,引用他的图)