处理器信息

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. 全网最详细python中socket套接字send与sendall的区别

    将数据发送到套接字. 套接字必须连接到远程套接字.  返回发送的字节数. 应用程序负责检查是否已发送所有数据; 如果仅传输了一些数据, 则应用程序需要尝试传递剩余数据.(需要用户自己完成) 将数据发送 ...

  2. TOJ1550: Fiber Communications

    1550: Fiber Communications  Time Limit(Common/Java):1000MS/10000MS     Memory Limit:65536KByteTotal ...

  3. git status 下中文显示乱码问题解决

      $ git status -s                 ?? "\350\257\264\346\230\216.txt\n                 $ printf & ...

  4. 【bzoj2333】[SCOI2011]棘手的操作 可并堆+STL-set

    UPD:复杂度是fake的...大家还是去写启发式合并吧. 题目描述 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i],接下来有如下一些操作: U x y: 加一条 ...

  5. 快速samba配置

      apt-get install samba   smbpasswd -a user 如果需要写权限 [homes] read only = no

  6. BZOJ1297 [SCOI2009]迷路 【矩阵优化dp】

    题目 windy在有向图中迷路了. 该有向图有 N 个节点,windy从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1. 现在给出该有向图,你能告诉windy总共有多少种不同的路径吗? 注意: ...

  7. 《学习笔记》Maven

    Maven优点之一:jar包统一管理+升级容易+项目清爽 试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包(.NET中是dll文件),一种作法是每个项目里,都复制一份这 ...

  8. [JSOI2007]字符加密Cipher SA

    [JSOI2007]字符加密Cipher Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 7859  Solved: 3410[Submit][Stat ...

  9. C# 模拟windows文件名称排序(使用windows自带dll)

    [DllImport("shlwapi.dll", CharSet = CharSet.Unicode)] private static extern int StrCmpLogi ...

  10. zabbix基于LNMP安装

    安装依赖 yum install pcre* #为了支持rewrite功能 yum install openssl openssl-devel yum install gcc make gd-deve ...