高通8953启动流程

article/2025/9/30 10:30:03

本文来自于:[添加链接描述
嵌入式工程师有必要了解芯片启动过程,在分析、调试各种问题时都有可能涉及这方面知识。同时,这部分知识复杂,涉及到芯片内部架构,启动各个阶段软件代码执行顺序,启动模式等等。以常用的MSM8953芯片启动过程为例,进行宏观分析。
在这里插入图片描述
处理器核心从上图看出,MSM8953处理器有5个,分别为:
1、APPS: Cortex A53 core,运行Android。
2、RPM(Resource Power Manager):Cortex M3 core,主要用于低功耗应用。
3、Modem(MPSS_QDSP6):高通自有指令集处理器,处理3G、4G通信协议等。
4、Pronto(WCNSS):处理WiFi相关代码5、LPAS:音频相关

对应下面芯片硬件结构图中各个处理器的框图来看就很清晰。
在这里插入图片描述
启动相关image介绍:
1、PBL(Primary BootLoader) 位于rom(只读内存)中,是芯片上电后执行的真正第一行代码,在正常启动流程中会加载SBL1。如果启动异常会虚拟出9008端口用于紧急下载(短接板子上的force_boot_from_usb引脚(MSM8953 为gpio37)到1.8v强制进入紧急下载模式)。
2、SBL1(Second BootLoader stage 1) 位于EMMC中,由PBL加载,初始化buses、DDR、clocks等,会虚拟出9006端口,用于不能开机时dump ram。
3、QSEE/TrustZone 安全相关,如fuse(安全熔丝)。
4、DEVCFG OEM配置信息(如OEMLock)。
5、 Debug Policy 调试相关。
6、APPSBL 即为BootLoader,目前使用LK(LittleKernel)。
7、HLOS(High Level Operating System) 即为Linux/Android。
8、Modem PBL 即为Modem处理器的PBL。
9、MBA(Modem BootAuthenticator) Modem处理器启动鉴权。

启动流程
1、系统上电,使MSM8953从上电复位开始运行。
2、在Cortex A53中运行的PBL会加载:
a)从启动设备(如EMMC)加载SBL1 segment1到L2(即为TCM)。
b)加载SBL1 segment2到RPM处理器的RAM中。
3、SBL1 segment1会初始化DDR,并完成如下加载:
a)从启动设备加载QSEE image到DDR。
b)从启动设备加载DEVCFG image到DDR。
c)从启动设备加载Debug Policy image到DDR。
d)从启动设备加载HLOS APPSBL(Bootloader) image到DDR。
e)从启动设备加载RPM firmware image到RPM的RAM中。
4 SBL1移交运行控制权给QSEE。QSEE建立安全运行环境,配置xPU,支持fuse。
a)SBL1运行在AArch32模式,而QSEE运行在AArch64模式。为了切换到AArch64模式,SBL1会启动重映射器,操作RMR寄存器,然后触发warm-reset,QSEE就能够运行在AArch64模式了。
5、QSEE通知RPM启动RPM 固件的执行
6、QSEE移交运行控制权给HLOS APPSBL(Bootloader)。
a)APPSBL只能在AArch32模式开始运行。
b)这时AArch32的运行模式切换是在EL3/Monitor模式完成的。通过查看APPSBL的ELF头能够 得知其需要运行在32位指令集架构下。EL3/Monitor模式改变到32位模式,然后再启动APPSBL。
7、APPSBL加载、验证kernel。APPSBL通过SCM调用改变到HLOS kernel需要的AArch64模式。 这和之前LK直接跳转到kernel运行是不同的。
8、HLOS kernel通过PIL加载MBA到DDR。
9、HLOS kernel对Hexagon modem DSP进行解复位。
10、Modem PBL继续它的启动。
11、HLOS kernel 通过PIL加载AMSS modemimage到DDR。
12、Modem PBL验证MBA然后跳转到MBA。
13、HLOS通过PIL加载WCNSS(Pronto)image到DDR。
14、HLOS对WCNSS(Pronto)进行解复位以便Prontoimage开始执行。
15、HLOS通过PIL加载LPASS image到DDR。
16、HLOS对LPSAA进行解复位以便LPASSimage开始执行。下面是流程的简化图,其中区分了AArch32和AArch64位的QSEE/TrustZone。


http://chatgpt.dhexx.cn/article/6sebQPsR.shtml

相关文章

高通8953平台串口配置入门

目录 一、 串口概述二、 平台串口介绍三、 Device tree如何配置串口四、 bootloader如何配置串口五、bootloader中串口相关代码六、 kernel中串口驱动文件:七、 调试中遇到的问题八、 串口回环测试九、参考文档 一、 串口概述 RS232、RS422、RS485都是串行数据接口…

windows 10安装sqlyog详细步骤

sqlyog下载链接: 链接: https://pan.baidu.com/s/1D_iRna8V90omfHsKHyeBtg 提取码: bqht 复制这段内容后打开百度网盘手机App,操作更方便哦 1. 下载完以后解压,双击SQLyog-12.0.9-0.x64 2. 如下图,选择Ok 3 . 如图,点…

SQLyog下载与安装

SQLyog卸载与安装 声明SQLyog卸载SQLyog安装一、SQLyog下载二、正式安装SQLyog 课后习题即答案 声明 SQLyog卸载 用360直接卸载 SQLyog安装 一、SQLyog下载 1.百度搜索SQLyog官网并进入。 2.下载,稍等片刻,即在浏览器下载列表中看到下载成功。 …

MySQL下载与安装、mysql服务启动与停止、mysql使用cmd命令行登录、SQLyog下载与安装,sqlyog登录与操作mysql

文章目录 1.MySQL下载与安装1.1 下载地址1.2 打开官网,点击DOWNLOADS1.3 点击 MySQL Community Server1.4 在General Availability(GA) Releases中选择适合的版本 2.配置MySQL8.03.配置MySQL8.0 环境变量4.服务的启动与停止4.1 使用图形界面工具4.1.1 打开windows服…

MySQL连接工具(SQLyog、Navicat)下载安装

目录 ❤ SQLyog 下载 安装 双击下载的文件 选择Chinese后点击OK ​编辑 点击“下一步” 选择“我接受”后点击“下一步” 点击“下一步” 修改安装位置(尽量不要安装在C盘),点击“安装” ​编辑 安装后点击“下一步” 点击“完…

【小白】SQLyog下载安装配置篇全攻略

我是第一次使用 SQLyog 这款对于MySQL数据库的可视化图形管理工具,本篇是我对于SQLyog安装配置的过程和总结,仅供大家参考。 如下: 了解SQLyog: SQLyog 是一个快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理…

python+pycharm+mysql+sqlyog下载安装

目录 工具包详情 Python pycharm mysql sqlyog 工具包详情 工具包包括python安装包,pycharm安装包,mysql安装包,sqlyog安装包及注册码 Python 首先是python安装,较为简单,只需要打开然后选择Add to PATH即可&…

SQLyog——下载2058问题

前言:本文记录了我今天下载和安装SQLyog的过程,主要问题就出在了SQLyog链接这部分——2058号问题。写下来一方面希望我的文章能有所帮助,另一方面记录一下自己的生活。感谢文中链接的作者。 1.先下载安装SQLyog 下载安装SQLyog我看的是这个…

SQLyog(旗舰版)下载

安装导航(以及常见问题的解决方案): https://docs.qq.com/doc/DS0VSV2toQXd0dWtN (如图所示:)

关于SQLyog 下载 无限试用

1: 关于SQLyog下载 获知最新版本: 最新版本的SQLyog可以通过GitHub查看SQLyog Community Edition(社区版)的最新版本号获取。 参阅:https://github.com/webyog/sqlyog-community/wiki/Downloads 获取下载链接: x64链接…

SQLyog的下载与安装

1、下载安装包 SQLyog下载链接 2、安装 2.1、选择语言,默认即可 2.2、下一步即可 2.2、接受协议并下一步 2.3、选择选项 2.4、选定安装目录 2.5、安装完成 3、连接Mysql服务 看到这个界面就连接成功了。

sqlyog

一、SQLYog下载 sqlyog百度云链接(永久有效):百度网盘 请输入提取码 密码:t906 注册码链接:百度网盘 请输入提取码 密码:e35u 二、sqlyog安装 1、将下载好的压缩包进行解压之后点击双击安装程序下拉选择…

SQLyog 下载地址

SQLyog - DownloadSQLyog, free and safe download. SQLyog latest version: Administrate MySQL Databases With Ease Using a Graphical Interface. MySQL is probably the worldhttps://sqlyog.en.softonic.com/

数据库客户端安装(SQLYog)

一、官网下载sqlyog 网址: SQLyog - Download (softonic.com)https://sqlyog.en.softonic.com/ 二、安装 1、双击exe文件 2、选择安装的语言 3、选择I do 的那个选项,再按next 4、选择如下的 5、默认的安装路径 6、更改路径为:D:\softwa…

MySql下载和安装Sqlyog下载安装

1 下载&安装 视频教程: https://www.bilibili.com/video/BV1Qf4y1T7Hx?p3 1.1 下载 https://downloads.mysql.com/archives/community/ 点开上面的链接就能看到如下界面: 选择选择和自己系统位数相对应的版本点击右边的 Download ,此时会进到另…

MyBatis快速入门——第三章、DML语句操作

MyBatis快速入门——第三章、DML语句操作 目录 在接口类中添加【UsersMapper.java】 修改【com.item.mapper.UsersMapper.】 【action.java】 在接口类中添加【UsersMapper.java】 /*** 添加* param nickName* param sex* param age* param introduce* return*/int AddInfo…

泛微 DML语句 存储过程

这是我写的第一个存储过程,纪念一下,开发兄弟在侧口述~, 存储过程在SQL中设置 CREATE PROCEDURE MAX_WLBM_TOOATABLEREQUESTID VARCHAR (100),YXCS INTAS BEGINIF (YXCS0) BEGIN insert into uf_MaxIDToRequestid (LCID,MAX_YTWL,MAX_YERT)…

sql语句之DML语句

1.SELECT 语句 SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。 SELECT 列名称 FROM 表名称 或 SELECT * FROM 表名称例如: eg:SELECT LastName,FirstName FROM Persons(从Persons表中查Las…

DDL与DML语句

1. DDL语句 SQL语句:结构化查询语句,使用SQL与数据库“沟通”,完成相应的数据库操作。 l DDL:数据定义语言,用来维护数据库对象 1.1 创建表 CREATE:创建表 演示:创建员工表 CREATE TABLE …

用JDBC执行DML语句

在已经建立数据库链接的基础上,如何执行SQL语句呢?这时候,我们就会用到Statement对象和ResultSet对象 Statement 对于增删改操作,我们只需要用到Statement对象,用法如下: 总的五步骤: 声明Stat…