bootloader启动流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MSM8909+Android5.1.1启动流程概述
PBL:APPS PBL(ApplicationPrimary Boot Loader),主引导加载程序
RPM:ResourcePower Manager,资源电源管理器
RPM(ResourcePower Manager)是高通MSM平台另外加的一块芯片,虽然与AP芯片打包在一起,但其是一个独立的ARM Core。之所以加这个东西,就是要控制整个电源相关的shared resources,比如ldo,clock。负责与SMP,MPM交互进入睡眠或者唤醒整个系统。
L2 TCM:Tightly-CoupledMemory,紧耦合内存
Some ARM SoC:s have a so-called TCM(Tightly-Coupled Memory). This is usually just a few (4-64) KiB of RAM insidethe ARM processor.
Due to being embedded inside the CPU TheTCM has a Harvard-architecture, so there is an ITCM (instruction TCM) and aDTCM (data TCM). The DTCM can not contain any instructions, but the ITCM canactually contain data.
CDT: Configuration Data Table,包含CDB0: platform info信息和CDB1: DDR配置参数。TZ:
PIL:Peripheralimage loader
MBA:Modem Boot Authenticator,调制解调器引导认证
HLOS:High-leveloperation system,高级操作系统
Pronto image:
SMEM : shared memory
RPC : remote procedure call
QCSBL : qualcomm second bootloader
OEMSBL : oem second bootloader
AMSS : Advanced Mobile Subscriber Software
SDI : System Debug Image
QSEE : Qualcomm Secure Execution Environment
TZBSP : TrustZone BSP
SBL1:ScondaryBoot Loader Stage1
MSS:MobileSubscriber Software移动用户软件
在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit)
1. Msm8909启动涉及部分的介绍
(1) APPS PBL(Application PrimaryBoot Loader)--------Cortex-A7
主引导加载程序,此程序的ZI/RW所需要的内容由L2 TCM和RPM codeRAM分配,在ROM中执行。引导程序功能是引导设备和接口检测、紧急下载模式的支持、通过L2 TCM 和RPM CodeRAM加载和认证SBL1 ELF片段(segments)。
(2) SBL1(Scondary Boot LoaderStage1) --------Cortex-A7
二级引导程序第1阶段,保存在EMMC/NAND中,负责初始化内存子系统(buses、DDR、clocks和CDT),加载和认证TZ、RPM_FW与APPSBL镜像,通过USB2.0和Sahara内存转储,保留看门狗调试,支持RAM转储到EMMC/SD,大容量储存模式支持,USB驱动支持、USB充电、温度检测、PMIC驱动支持、配置DDR和flush L1/L2/ETB to crash调试支持相关的配置
(3) QSEE(Qualcomm Secure ExecEnvironment) --------Cortex-A7
高通安全执行环境,从NAND/EMMC中拷贝到LPDDR2/3中执行,等同于
TZBSP(TrustZoneBSP),创建安全运行时执行环境、配置xPU、支持fluse驱动、创建SMMU 配置等
(4) RPM_FW----Cortex-M3
RPM : Resource Power Manager,资源电源管理器,是高通MSM平台另外加的一块芯片,虽然与AP芯片打包在一起,但其是一个独立的ARM Core。之所以加这个东西,就是要控制整个电源相关的shared resources,比如ldo,clock。负责与SMP,MPM交互进入睡眠或者唤醒整个系统。
从NAND/EMMC中拷贝出来,在RPM CodeRAM中运行
(5) APPSBL image--------Cortex-A7
从NAND/EMMC中拷贝出来,在LPDDR2/3中运行,功能丰富的引导程序HLOS,加载/认证内核、recovery模式等等。
(6) Modem PBL(Modem Primary BootLoader)-----------MSS Q6
在ROM中执行,创建Q6 TCM、从LPDDR2中加载MBA到Q6 TCM中并认证和锁住SMMU CB。
MSS:MobileSubscriber Software移动用户软件
(7) MBA(Modem Boot Authenticator)
调试解调器启动认证,从NAND/EMMC中拷贝到LPDDR2/3和Q6 TCM中运行,认证modem镜像、xPU保护modem的DDR区域
(8)
2. Msm8909的启动流程
PBL--->SBL1--->QSEE/TZ
(1) 芯片上电复位到地址0,Cortex-A7 APPS在自带的ROM中开始执行PBL
(2) PBL从EMMC中拷贝SBL1的第1段到L2 TCM中,执行和认证。