高通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 ...
随机推荐
- 解决问题redis问题:ERR Client sent AUTH, but no password is set
是的,这又是一个坑爹的问题. 明明在redis.conf中设置了密码,而且redis还启动了,为什么说没有密码呢? 大家都知道linux下启动redis有很多种方法, 其中有 ./redis-serv ...
- 安装oracle时修改Linux版本问题
Linux安装Oracle报Checking operating system version must be redhat, SuSE, redhat, UnitedLinux or asianux ...
- Linux下DIR,dirent,stat等结构体详解
摘自:http://www.liweifan.com/2012/05/13/linux-system-function-files-operation/ 最近在看Linux下文件操作相关章节,遇到了这 ...
- Hibernate设置时间戳的默认值和更新时间的自动更新
Generated and default property values 生成的和默认的属性值 The database sometimes generates a property value, ...
- Redis之(一)初识Redis
1.Redis概述 我们知道,内存是电脑主板上的存储部件,用于存储当前正在使用的数据和程序,CPU可以与内存直接沟通,所以访问速速非常高:而外存数据必须加载到内存以后程序才能使用.如果把CPU当做一个 ...
- SpringMVC源码分析--文件上传
SpringMVC提供了文件上传的功能,接下来我们就简单了解一下SpringMVC文件上传的开发及大致过程. 首先需要在springMVC的配置文件中配置文件上传解析器 <bean id=&qu ...
- 使用MD5SUM检查文件
有不少网站提供下载文件的同时,提供了文件的MD5SUM的值.如何检查自己下载的文件与原文件一样呢?用md5sum的-c选项. 操作如下: 1.先新建一个文本文件,写入网站上提供的md5sum的值,空两 ...
- cassandra 如何写数据以及放置副本
application发送数据到server application 发送请求到server 根据设置的load balance 规则从cluster中挑选一个coordinator,一般使用轮询即可 ...
- 【ShaderToy】水彩画
写在前面 好久没有更新shadertoy系列了,我万万没想到有童鞋还惦记着它...之前说过希望可以一周更新一篇,现在看来是不怎么可能了,一个月更新一篇的希望比较大(不要再相信我了...) 我把之前实现 ...
- EBS HRMS数据表
4.1. 人员基本息 表 (PER_ALL_PEOPLE_F) ...