高通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。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值