高通简单的启动流程说明
高通的启动流程较MTK稍微复杂一点,大体阶段如下:
一、系统上电后加载rom里面的一段代码,其实这个过程就是PBL,此处也是启动的开始,假如此处枚举不出来启动,也就是我们常说的救机其实也就是从此处进行强制加载的(9008),完了后PBL因为有EMMC的驱动,会加载EMMC中的SBL镜像,初始化DDR(后续的imag加载都是在它里面load)、时钟、buses等硬件(我们后期分析的dump出现的9006(900E)端口就是在此处虚拟出来的)。因为高通大体有5个子系统,APPS、RPM、Modem、WCNSS、LPASS(ADSP) ,所以此时在执行SBL的时候不同的子系统启动的东西不一样,使用的顺序不一样,因此执行的顺序也有差异。SBL执行完毕后,就到了常说的安全空间了QSEE or TZ,主要功能就是初始化可信的安全环境,对各种子系统的镜像进行鉴权,对应的代码就是CP侧的Tzx.0代码,Tzx.0对接的就是常说的DEVCFG配置的代码,以及Debug Policy代码,安全环境建立完毕后,就会把执行权限交回给SBL,SBL此时会Load处理Power、休眠唤醒时钟相关的管理,主要也是处理低功耗应用等,即对应的RPM,此时SBL会载入APPSBL,相当于更高级的一层启动,其实也就是到了我们的的fastboot、lk阶段,此处过程主要是为了支持屏幕驱动点亮屏幕以及加载boot进入kernel。此时所有的前期准备环境和启动流程基本ok,就真正出现我们的android界面,其实也就是我们常说的HLOS启动ok,在HLOS启动ok完成到一定步骤后,那么此时就开始load各个子系统,modem、wcnss、lpass主要这几个。
二、以我们常见的工作流程和书面知识流程表示如下
工作流程:PBL--->SBL--->ABL--->KERNEL--->Android
书面知识:APPSPBL--->SBL(WR)--->TZ--->APPSBL--->HLOS
高通简单的启动流程说明相关推荐
- 高通平台Bootloader启动流程【转】
本文转载自:http://blog.csdn.net/fang_first/article/details/49615631 ====================基本知识============= ...
- 高通平台RF配置流程
高通平台RF配置流程 **注:**本文参考项目路径和代码为SIM7600 LE20分支 1 准备工作 需要的资料: 各个器件的datasheet 原理图 逻辑表(内容包含支持哪些制式.band,各个b ...
- 高通LCD bring up流程
高通LCD bring up流程 前言 kernel 添加LCD的dtsi 将屏的dtsi放到平台的dtsi中 电压配置 lk 添加屏的.h文件 Panel configuration Panel r ...
- 高通音频驱动录音流程(五)
高通音频驱动录音流程(五) mixer path 设置过程分析 snd_soc_register_card 录音通路配置 调用tinycap命令时的音频播放流程 网上关于音频驱动的文章,大多是进行框架 ...
- 高通音频驱动录音流程(二)
高通音频驱动录音流程(二) 目录 高通音频驱动录音流程(二) Front End CPU的注册 Front End Codec注册 Front End PCM的注册 Front End CPU的注册 ...
- 高通音频驱动录音流程(三)
高通音频驱动录音流程(三) 目录 高通音频驱动录音流程(三) Back End CPU的注册 Back End Codec注册 Back End PCM的注册 Back End CPU的注册 vend ...
- 【Android驱动】高通Camera代码probe流程
参看博客: Android camera架构: 基于qualcomm平台的camera 驱动详解_Winston-CSDN博客_高通camera驱动架构 Android Camera MSM HAL: ...
- 高通平台ADSP USB流程
在高通平台上,ADSP(Audio Digital Signal Processor,音频数字信号处理器)可以通过 USB 接口与主机进行数据传输,以下是大致的 ADSP USB 流程: 主机发起 U ...
- 高通耳机阻抗估算流程
Msm-analog-cdc.c (vendor\qcom\opensource\audio-kernel\asoc\codecs\sdm660_cdc) 模拟编解码器驱动 static struc ...
最新文章
- 计算机操作员高级理论试题答案,计算机操作员高级理论试题答案1.doc
- 提高生产力:文件和IO操作(ApacheCommonsIO-汉化分享)
- kafka批量启动脚本
- ehviewer苹果版下载_苹果用户:支持ios的云手机有没有?在哪里下载云手机ios版?...
- jcaptcha maven
- C++基础知识(一)—— C++程序结构
- struts 1.2配置文件
- 自定义枚举typeHandler
- 奇偶链表的分割(C++)
- Android中Intent传递Java对象的方法
- 台达EH3系列PLC与温控器的MODBUS RTU通信例程
- 加入域的计算机如何本地用户登录,关于本地缓存登陆和域用户将计算机加入域的问题(转)...
- 二值图像连通区域标记matlab,二值图像快速连通区域计算方法与流程
- 全网最全实战注册苹果开发者账号教程
- CentOS yum安装mcrypt详细图解教程
- ios 项目开发中总结
- HDU - 4544 湫湫系列故事——消灭兔子 贪心+优先队列
- 项目经理如何做好项目数据分析?
- koa2洋葱模型之为什么要保证洋葱模型
- Centos 通过yum默认安装mysql,my.cnf的常用配置
热门文章
- 图腾柱无桥PFC,平均电流控制 环路建模然后设计出电压环和电流环补偿网络
- python日期转化成周数_python dataframe将周数转换为月
- 大学生是否应该搞ACM
- 【Derivation】维纳—辛钦公式证明
- C++STL之vector
- 基于一种交互式的光伏组件特性曲线算法(Matlab代码实现)
- 一、IO模式之-IO模型
- html5清除圆形区域,html5 canvas拓展clearRect()实现圆形区域清理
- c 语言 函数返回数组_如何在C ++函数中返回数组
- Matlab中flip函数用法