zoukankan      html  css  js  c++  java
  • 高通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》,本文大部分内容是从该文档中翻译的。
  • 相关阅读:
    Ubuntu 安装.net core 设置源仓储地址
    ASP.NET Core开发-MVC 使用dotnet 命令创建Controller和View
    ubuntu安装postman
    redis相关操作
    C# StringValues 类型
    MySQL时间戳与日期格式的相互转换
    C# 生成时间戳以及时间戳转换为时间
    关于vscode 使用nuget插件相关说明
    ubuntu一些命令
    使用HBuilderX新建Uniapp项目并在不同平台上运行调试
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7227768.html
Copyright © 2011-2022 走看看