高通msm8994启动流程简介
2016-04-11 11:29
232 查看
处理器信息
8994包含如下子系统:
子系统 | 处理器 | 含义 |
---|---|---|
APSS | 4*Cortex-A53 | 应用子系统 |
APSS | 4*Cortex-A57 | 应用子系统 |
LPASS | QDSP6 v5.5A(Hexagon) | 低功耗音频子系统 |
RPM | Cortex-M3 | 资源功耗管理子系统 |
Modem | QDSP6 v5(Hexagon) | 调制解调(基带)处理子系统 |
资源功耗管理子系统由一颗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》,本文大部分内容是从该文档中翻译的。
相关文章推荐
- 高通msm8994启动流程简介
- 基础 HTML之目录问题(相对路径和绝对路径区别)
- hdu1597(二分查找)
- [5.1.1][odex/deodex]教你如何反编译在设定里添加"自启管理"功能
- 将版本信息显示在App图标上
- 【Android】查看程序每个方法所花费的时间
- 无缝滚动和轮播
- android 中延迟执行
- JAVA的学习过程
- wifidog 源码初分析(4)
- 选择器
- 【android】SDK环境变量配置
- event.returnValue和return false的区别
- leetcode197-Rising Temperature
- 三目运算iOS
- 自定义View的上下左右距离等解析
- 正则表达式30分钟入门教程
- FlashSim安装及测试(http://www.jianshu.com/p/d6323869198d)
- 封装篇——图片模块(Glide)
- Genymotion配置及使用教程