高通平台启动流程
高通平台的启动流程如下:

现对各个阶段说明如下:
- PM检测到系统上电,将会给MSM发出上电复位信号,要求MSM复位。这样AP(Kryo应用处理器)将会退出reset状态。
注:Kryo是Qualcomm Technologies推出的首款定制设计的64位CPU。 - 在AP处理器侧,应用主引导加载程序(应用PBL)执行。PBL:Primary Boot Loader 是不可改变的bootloader。PBL的作用是硬件初始化、配置数据等。 (该部分是在内部ROM中执行 )
a. 对extensible boot loader (XBL) region #1 进行身份认证,并将其从引导设备(as TCM)加载到L2。
b. 验证XBL region #2 (DDR/SDI equivalent)并将其加载到片上内部存储器(OCIMEM),然后跳转到XBL region #1 - 在 XBL region #1中,XBL对PMIC镜像进行身份认证并将其从引导设备加载到内部缓冲区 (该部分是在IMEM中执行 )
a. 对QSEE进行身份认证,并将其从引导设备加载到pIMEM
QSEE - Qualcomm Secure Execution Environment
b. 对QHEE (Hypervisor) image 进行身份认证,并将其从引导设备加载到DDR
QHEE - Qualcomm Hypervisor Execution Environment
c. 对RPM firmware image 进行身份认证,并将其从引导设备加载 RPM code RAM
d. 对little kernel(LK) boot (or XBL region #3)进行身份认证,并将其从启动设备加载到DDR - XBL region #1 结束工作,下一步由QSEE执行 (以下是在DDR中执行 )
- QSEE使RPM退出reset状态,启动并执行RPM firmware
- QSEE建立一个安全的环境,并跳转到QHEE image,启动并执行它
- QSEE跳转到LK boot(or XBL region #3),启动并执行
- LK boot (or XBL region #3)对HLOS kernel进行身份验证,并进行装载 (HLOS - high-level operating system指操作系统,比如windows、linux、android等)。以android系统为例,这里装载完成后,开始运行linux。
- HLOS kernel 通过PIL把MBA加载到DDR
(MBA - modem boot authenticator PIL - peripheral image loader) - HLOS kernel 使Hexagon modem DSP退出reset状态(从kernel log也可以看到,8-9s左右modem才复位)
- Modem PBL将MBA从DDR复制到modem TCM,对MBA进行身份认证,并跳转到MBA image
- HLOS通过PIL把AMSS modem image加载到DDR
- MBA对modem image进行身份认证,然后跳转到modem(这里modem才真正跑起来)
- HLOS通过PIL加载Venus、 LPASS 和 SSC images到DDR
- HLOS使Venus、 LPASS 和 SSC退出reset状态,并通过一个安全的SMC调用(监控模式)启动执行各个子系统。
注意:纵向是执行的存储设备(在哪里执行),横向是执行的单元(包括多个处理器以及dsp)。
以MSM8953为例,其内部包含有多个dsp和ap的:

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
