高通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》,本文大部分内容是从该文档中翻译的。
高通msm8994启动流程简介的更多相关文章
- 高通msm8994启动流程简单介绍
处理器信息 8994包括例如以下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(He ...
- linux驱动由浅入深系列:PBL-SBL1-(bootloader)LK-Android启动过程详解之一(高通MSM8953启动实例)
转自:http://blog.csdn.net/radianceblau/article/details/73229005 http://www.aiuxian.com/article/p-14142 ...
- Android : 高通平台的HVX简介及调试
一.HVX简介 HVX(“Hexagon矢量扩展”,Hexagon-六边形.Vector-矢量.Extensions-扩展)是Hexagon 680 DSP的典型特性,能够在执行图像处理应用中的计算负 ...
- Storm启动流程简介
storm启动流程 storm是一个流行的开源的,分布式实时处理框架,关于storm的基本介绍可以参加这篇官方文档.大致的拓扑结构如图所示: 其中Nimbus是一个后台 ...
- Spring启动过程分析】(1)启动流程简介
1. spring简介 spring的最基本的功能就是创建对象及管理这些对象之间的依赖关系,实现低耦合.高内聚.还提供像通用日志记录.性能统计.安全控制.异常处理等面向切面的能力,还能帮我们管理最头疼 ...
- 高通msm8994手动提升性能脚本
点击打开链接 [plain] view plain copy stop thermald stop mpdecision stop thermal-engine # online A57 echo 1 ...
- 高通msm8994性能及温度监测脚本
[plain] view plain copystartTime=$(date +%Y-%m-%d-%H-%M-%S) pathName="/data/cpu_logs" fi ...
- 【转】高通平台android 环境配置编译及开发经验总结
原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...
- 高通平台启动log概述(PBL log、sbl1 log、kernel log)【转】
本文转自:https://blog.csdn.net/RadianceBlau/article/details/78416776?utm_source=blogxgwz9 高通平台启动log概述(PB ...
随机推荐
- PHP MySQL 简介
PHP MySQL 简介 通过 PHP,您可以连接和操作数据库. MySQL 是跟 PHP 配套使用的最流行的开源数据库系统. 如果想学习更多 MySQL 知识可以查看本站MySQL 教程. MySQ ...
- Python3 输入和输出
输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数.(第三种方式是使用文件对象的 write() 方法; 标准输出文件可以用 sys.stdout 引用.) 如果你希望输 ...
- Dynamics CRM2016 The value of field on record of type entity is outside the valid range问题的解决方法
今天在用web api创建一条记录时报了个标题里的错,咋看这错说的很明白了,属性字段的值超范围了,但咱们看下具体的问题 请求url是这样的http://xx/api/data/v8.0/new_rec ...
- Windows下Java如何调用本地获取mac地址
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- linux:关于Linux系统中 CPU Memory IO Network的性能监测
我们知道:系统优化是一项复杂.繁琐.长期的工作.通常监测的子系统有以下这些:CPUMemoryIO Network 下面是常用的监测工具 Linux 系统包括很多子系统(包括刚刚介绍的CPU,Memo ...
- Dynamics CRM 产品视图列上自带按钮的隐藏
CRM中对command bar的处理都是使用ribbon workbench,但是很多系统自带的按钮你是没法在ribbon workbench看到的,咱们以产品为例,比如我要隐藏form上的保存按钮 ...
- RE模块疑问
待处理: >>> re.findall(r'[-+]*\d+(?:\.\d+)?','-++++---+123.012') ['-++++---+123.012'] >> ...
- Leetcode解题-链表(2.2.0)基础类
1 基类的作用 在开始练习LeetCode链表部分的习题之前,首先创建好一个Solution基类,其作用就是: Ø 规定好每个子Solution都要实现纯虚函数test做测试: Ø 提供了List ...
- Android Studio 使用wifi调试插件
由于手机亦或是数据线的问题,在应用开发过程中会时不时地遇到手机突然连不上电脑的尴尬时刻,于是就学习了如何使用wifi进行应用调试.下面就具体介绍一下adb wifi插件的安装和使用.其实我们只需要安装 ...
- 剑指offer面试题5 从头到尾打印链表(java)
注:(1)这里体现了java数据结构与C语言的不同之处 (2)栈的操作直接利用stack进行 package com.xsf.SordForOffer; import java.util.Stack; ...