高通msm8994启动流程简单介绍
处理器信息
8994包括例如以下子系统:
子系统 | 处理器 | 含义 |
---|---|---|
APSS | 4*Cortex-A53 | 应用子系统 |
APSS | 4*Cortex-A57 | 应用子系统 |
LPASS | QDSP6 v5.5A(Hexagon) | 低功耗音频子系统 |
RPM | Cortex-M3 | 资源功耗管理子系统 |
Modem | QDSP6 v5(Hexagon) | 调制解调(基带)处理子系统 |
从上表中能够看出,8994包括应用处理子系统、资源功耗管理子系统、调制子系统、低功耗音频子系统。当中应用处理子系统由4个A53和4个A57组成。
资源功耗管理子系统由一颗Cortex-M3组成,Modem子系统和低功耗音频子系统分别由一颗高通骁龙处理器组成。
启动流程
启动流程框图
启动流程
1. 芯片上电复位到地址0, RPM PBL開始运行;
2. RPM PBL运行主要的电量和功率检測,然后复位APP处理器(地址0xFC010000)。
3. APPS PBL在A53上运行,他从启动设备中载入(并鉴定)SBL1镜像到OCMEM。
4. APPS PBL将RVBAR设置为SBL1的入口,设置RMR_EL3为64位模式。然后触发热启动,程序转到SBL1;
5. SBL1開始运行。他首先初始化DDR。然后载入(并鉴定)HYP和TZ镜像;
6. SBL1将运行权转交给TZ;
7. TZ安全监管器建立安全环境;
8. TZ QSEE内核运行;
9. TZ应用程序(32/64位)运行。他们初始化系统;
10. TZ将运行权转交给HYP(监管程序);
11. 监管程序运行。他建立调试管理器,然后将运行权交回SBL1;
12. SBL1载入(并鉴定)RPM 固件。设置RPM固件准备就绪魔数。
13. RPM 固件在RPM处理器上运行;
14. SBL1载入(并鉴定)SDI(系统调试镜像),SDI pass 0開始运行;
15. SBL1载入(并鉴定)HLOS APPSBL(High-Level Operationg System,高级操作系统的SBL,指lk(little kernel));
16. SBL1将运行权转给HLOS APPSBL;
17. HLOS APPSBL载入(并鉴定)HLOS kernel(实指linux kernel);
18. HLOS APPSBL通过TZ陷阱系统调用(TZ trap syscall)将运行权转交给HLOS kernel;
19. 依据须要,HLOS kernel从启动设备中载入MBA(Modem Boot Authenticator)到DDR;
20. HLOS kernel复位Modem处理器,Modem PBL開始运行;
21. (此条疑似错误,參考80-NM328-6第26页)。
22. Modem PBL从DDR中将MBA复制到modem TCM中,然后在modem TCM中鉴定MBA;
23. 依据须要,HLOS kernel从启动设备中载入MPSS镜像到DDR中;
24. MBA鉴定DDR中的MPSS镜像;
25. 依据须要。HLOS使用PIL载入LPASS镜像;
26. 依据须要,HLOS使用PIL载入Venus镜像。
附加说明
具体请參考《80-NM328-6_A_MSM8994_Boot_CoreBSP_Overview.pdf》,本文大部分内容是从该文档中翻译的。
posted on 2017-07-24 10:53 cynchanpin 阅读(2261) 评论(0) 编辑 收藏 举报