• 高通msm8994启动流程简介


    处理器信息

    8994包含如下子系统:
    
    子系统处理器含义
    APSS4*Cortex-A53应用子系统
    APSS4*Cortex-A57应用子系统
    LPASSQDSP6 v5.5A(Hexagon)低功耗音频子系统
    RPMCortex-M3资源功耗管理子系统
    ModemQDSP6 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》,本文大部分内容是从该文档中翻译的。
  • 相关阅读:
    卸载linux自带openjdk并安装sun jdk
    配置互信
    【学习笔记】计算理论
    python 矩阵乘法
    一个python二维列表格式化美观输出的题目
    【学习笔记】SICP读书笔记&&UCB CS61A学习笔记(学习中。。。)
    js模块化编程(未完待续)
    js——封装音频播放 暂停
    js——构造函数手撕大转盘
    kubernetes的iptables与ipvs详解
  • 原文地址:https://www.cnblogs.com/liang123/p/6325247.html
Copyright © 2020-2023  润新知