处理器信息

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启动流程简单介绍的更多相关文章

  1. 高通msm8994启动流程简介

    处理器信息 8994包含如下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(Hexa ...

  2. qt-qml移动开发之在ios上开发和部署app流程简单介绍

    qt5.3已经全面支持移动开发,除了mac,windows,linux.还支持ios,android,wp,meego等移动平台,本教程是作者依据自己的经验,从头讲怎么样在ios上公布自己的app.因 ...

  3. linux驱动由浅入深系列:PBL-SBL1-(bootloader)LK-Android启动过程详解之一(高通MSM8953启动实例)

    转自:http://blog.csdn.net/radianceblau/article/details/73229005 http://www.aiuxian.com/article/p-14142 ...

  4. zookeeper启动流程简单梳理

    等着測试童鞋完工,顺便里了下zookeeper的启动流程 zk3.4.6 启动脚本里面 nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_ ...

  5. busybox启动流程简单解析:从init到shell login

    关键词:kernel_init().init.inittab.wait/waitpid.fork/vfork.setsid().execvp/execlp.dup2等等. 由于遇到一系列定制,从ini ...

  6. 高通msm8994手动提升性能脚本

    点击打开链接 [plain] view plain copy stop thermald stop mpdecision stop thermal-engine # online A57 echo 1 ...

  7. android:Activity四种启动模式简单介绍

    Activity启动模式 能够依据实际的需求为Activity设置相应的启动模式,从而能够避免创建大量反复的Activity等问题 Activity有四种载入模式 1.standard(默认启动模式, ...

  8. Springboot启动流程简单分析

    springboot启动的类为SpringApplication,执行构造函数初始化属性值后进入run方法: 然后返回ConfigurableApplicationContext(spring应用). ...

  9. 高通msm8994性能及温度监测脚本

    [plain] view plain copystartTime=$(date +%Y-%m-%d-%H-%M-%S)  pathName="/data/cpu_logs"  fi ...

随机推荐

  1. #1 add life to static pages && connect to MySQL

    由于实验室 Project 中需要用到PHP, 之前也没接触过 PHP, 因此把 编程入门 <Head Fist PHP & MySQL >找来花了四五天快速过了一遍. 现在想把书 ...

  2. Ubuntu关机与重启的相关指令

    将数据同步写入到磁盘中的指令:sync 惯用的关机指令:shutdown 重新启动,关机:reboot,halt,poweroff shutdown可完成如下工作: 1.可以自由选择关机模式:是要关机 ...

  3. 用qemu+gdb tcp server+CDT调试linux内核启动-起步

    用qemu+gdb tcp server+CDT调试linux内核启动-起步 说明: 环境信息与 用virtualbox+模拟串口+CDT调试linux内核 TCP IP协议栈-起步 提到的一样,并且 ...

  4. Selenium WebDriver- 显式等待

    推荐使用显示等待,元素出现就不会等待而继续执行了.节省时间. #encoding=utf-8 import unittest import time from selenium import webd ...

  5. 关于windows系统DPI增大导致字体变大的原因分析

    最近再学习WPF开发,其中提到一个特性“分辨率无关性”,主要功能就是实现开发的桌面程序在不同分辨率的电脑上显示时,会根据系统的DPI自动进行UI的缩放,从而不会导致应用程序的失真. 这个里面就提到了个 ...

  6. 刷题总结——运输计划(bzoj4326)

    题目: 题目背景 NOIP2015 提高组 Day2 T3 题目描述 公元2044年,人类进入了宇宙纪元. L国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道 ...

  7. Java面试题之notify和notifyAll的区别

    锁池: 假设线程A已经拥有对象锁,线程B.C想要获取锁就会被阻塞,进入一个地方去等待锁的等待,这个地方就是该对象的锁池: 等待池: 假设线程A调用某个对象的wait方法,线程A就会释放该对象锁,同时线 ...

  8. Android ARM指令学习

    在逆向分析Android APK的时候,往往需要分析它的.so文件.这个.so文件就是Linux的动态链接库,只不过是在ARM-cpu下编译的.所以学习Android下的ARM指令很重要.目前,市面上 ...

  9. jenkins+maven+testng参数化执行测试用例

    碰到一个场景是,在做自动化中,一个系统往往需要兼容很多浏览器,如何在一个工程中,通过参数化去启动不同的浏览器,而无需改动配置文件呢? 我解决的思路是: 1.通过jenkins的参数传递给maven 2 ...

  10. Jvm运行时数据区 —— Java虚拟机结构小记

    关于jvm虚拟机的文章网上都讲烂了.尤其是jvm运行时数据区的内容. 抱着眼见为实的想法,自己翻了翻JVM规范,花了点时间稍微梳理了一下. 以下是阅读Java虚拟机规范(Java SE 8版)的第二章 ...