高通modem启动过程_高通8953启动流程【转】

高通modem启动过程_高通8953启动流程【转】高通 8953 启动流程嵌入式工程师有必要了解芯片启动过程 在分析 调试各种问题时都有可能涉及这方面知识 同时 这部分知识复杂 涉及到芯片内部架构 启动各个阶段软件代码执行顺序 启动模式等等 以常用的 MSM8953 芯片启动过程为例 进行宏观分析 处理器核心从上图看出 MSM8953 处理器有 5 个 分别为 1 APPS CortexA53cor 运行 Android 2 RPM ResourceP

高通8953启动流程

嵌入式工程师有必要了解芯片启动过程,在分析、调试各种问题时都有可能涉及这方面知识。同时,这部分知识复杂,涉及到芯片内部架构,启动各个阶段软件代码执行顺序,启动模式等等。以常用的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。

关于EMMC和DDR的初始化时间问题,从上面的描述中可以看到。

1、PBL中是含有EMMC驱动的,有访问EMMC的能力,自身运行在MCU内部SRAM中。

2、除了PBL程序的img在MCU片内ROM外,其余img均存储在EMMC中。

3、PBL首先从EMMC加载SBL1到L2(内部缓存并非DDR),SBL1同样运行在片内SRAM。

4、有SBL1初始化DDR各种时序后,DDR自此可用(eMMC一直可用)。

5、再由SBL1加载其余各个img到DDR,然后按照linux的正常顺序启动。

———————

作者:xiezhi

来源:CSDN

原文:https://blog.csdn.net/xiezhi/article/details/

版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177032.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:28
下一篇 2026年3月26日 下午8:29


相关推荐

  • 第六周作业

    第六周作业

    2021年9月17日
    27
  • 频谱分析仪的原理_实时频谱分析仪原理

    频谱分析仪的原理_实时频谱分析仪原理频谱分析仪是分析电路设计的重要工具,可能你没接触过,但是你做CE、RE这些实验的设备都有它的影子,因此对其做深入的了解还是有必要的。了解频谱分析仪的工作原理,明确频谱仪的基本指标,包括频…

    2022年8月11日
    8
  • A_A010_01 常用串口调试助手安装使用

    A_A010_01 常用串口调试助手安装使用A010常用串口调试助手安装使用一、 软件下载二、 SSCOM安装使用三、 STC-ISP串口助手使用四、 安信可调试助手安装使用五、 注意事项一、 软件下载SSCOM串口助手网盘链接提取码:nztnSTC-ISP网盘链接提取码:zrsq安信可串口助手网盘链接提取码:r935二、 SSCOM安装使用1、免安装,直接用,生成快捷方式到左面即可2、使用配置三、 STC-ISP串口助手使用配置方式都类似四、 安信可调试助手安装使用1、免安装,直接用,生成快捷方式到桌面即

    2022年5月29日
    83
  • Ubuntu 16.04 上安装 CUDA 9.0 详细教程

    Ubuntu 16.04 上安装 CUDA 9.0 详细教程前言:     本篇文章是基于之前安装CUDA7.5的经验写的,但因为最近更新TensorFlow到了r0.12版本,官方提示该版本TensorFlow和CUDA8.0&cudnnv5.1配合的最好,所以又卸了CUDA7.5,重新装了一遍CUDA8.0,安装的过程中发现了之前文档里的些许不足,于是做了稍许修改。

    2022年5月2日
    97
  • 什么是接口测试?怎样做接口测试?

    什么是接口测试?怎样做接口测试?扫盲内容 1 什么是接口 2 接口都有哪些类型 3 接口的本质是什么 4 什么是接口测试 5 问什么要做接口测试 6 怎样做接口测试 7 接口测测试点是什么 8 接口测试都要掌握哪些知识 9 其他相关知识 1 什么是接口 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点 定义特定的交互点 然后通过这些交互点来 通过一些特殊的规则也就是协议

    2026年3月19日
    2
  • Linux防火墙详解「建议收藏」

    Linux防火墙详解「建议收藏」防火墙介绍inux防火墙主要工作在网络层,属于典型的包过滤防火墙。在RHEL中常用的有两种火墙工具iptables和firewalld,但软件本身其实并不具备防火墙功能,他们的作用都是在用户空间中管理和维护规则,只不过规则结构和使用方法不一样罢了,真正利用规则进行过滤是由内核netfilter完成的。netfilterIP信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Lin

    2026年2月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号