当前位置: 首页 > news >正文

网站版权符号徐州工作招聘信息网

网站版权符号,徐州工作招聘信息网,wordpress 左边导航菜单,微信公众号登录平台入口每当有新的平台起来的时候,大概率会伴随着新系统的发布,无论是高通的还是Google Andorid的。在做平台Bringup阶段总会遇到各种各样的专业术语。例如,总是会听到有人说PBL,SBL,XBL,UFEI,Bootload…

每当有新的平台起来的时候,大概率会伴随着新系统的发布,无论是高通的还是Google Andorid的。在做平台Bringup阶段总会遇到各种各样的专业术语。例如,总是会听到有人说PBL,SBL,XBL,UFEI,Bootloader,Kernel,Android 等等。这些是说的启动的不同阶段呢,还是指不同的分区镜像呢?今天就以QCM4490为例,简单做一下解释和区分。

分区(镜像)名称

xbl,xbl_s.melf

xbl config,xbl_config.elf

uefi,uefi.elf

QSEE/TrustZone,tz.img

super,super.img

vendor,vendor.img

system,system.img 

启动不同阶段

启动过程:

详细内容:

  1. PBL 阶段
    1. 黑色块表示具体的ROM,TME也是开机 最初阶段进行运行的firmware,TME全称为Trust Managerment Engine,以看名字就知道与安全有关。通常是为开机提供Rot和一套验证机制。蓝色块代表了不同阶段的执行程序,e.g 各种loader。
    2. PBL(Primary Boot Loader)负责枚举启动方式和加载SBL(Secondary Boot Loader)镜像。
      PBL is a rom-based bootloader and there isn't any log such as UART can be catched by external device, so the best way to debug PBL is JTAG with Trace32
    3. 如果启动失败,PBL会创建一个虚拟端口9008供镜像下载。
    4. PBL还会检查BootOption GPIO或fuse来确定当前的启动方式,如通过USB或Flash EMMC或者UFS启动。
  2. SBL阶段 (高通新平台用xbl sc替换,Android12之前都还有)
    1. SBL(Secondary Boot Loader)镜像从EMMC/UFS加载并进行校验。
    2. SBL负责将镜像分配到不同的内存区域,如RPM Code RAM。
    3. SBL还负责处理电源、休眠唤醒时钟等相关管理任务。
  3. XBL SC阶段
    1. XBL system controller, 用于加载XBL镜像(xbl  loader),提供XBL config,并将执行移交到xbl。主要功能是setup xbl运行环境,e.g bus/ DDR / clocks / Charger and CDT 有关的设定。xbl sc的代码通常是不可以更改的,通常是release的二进制镜像文件,俗称xbl_sc(但是它不是一个单独的img,而是被包裹在xbl_s.melf分区中)。如果,我们需要在xbl_sc中进行修改代码,通常做法是提QCOM case。例如,同一套代码在不同设备上启动,并且要选择不同的XBL config, 那么我们就必需要改动XBL SC进行选择。但是这样,会带来一个问题,就是每次codebase升级,我们都需要进行提QCOM case寻求帮助。
      所以,这里有个教训就是,在我们需要启用新平台时候,需要进行和Qcom TAM进行设计确认。提出我们的需求,请高通实现。这个对架构师的要求比较高,需要看的远才行。
    2. XBL SC loads SHRM image from the boot device and TME authenticates and brings it out of reset. 
    3. XBL SC loads AOP CFG and AOP image from the boot device and TME authenticates and brings AOP out of reset.
    4. XBL SC loads CPUCP firmware image from the boot device and TME authenticates it.
    5. XBL SC loads TZ device configuration (DEVCFG) image and Qualcomm TEE image from the boot device and TME authenticates it.
    6. ...
    7. xbl sc是高通签名的一个镜像文件,是否会影响release的bootup?看上去并不会!
    8. XBL config的主要内容有哪些?xbl_config.elf
      1. 包含了CDT,这个很重要,现在高通不希望我们改动CDT了,他的code是IDP的CDT,release给我们的code有而是基于IDP开发的。关于CDT的细节可以参考我的NPI项目之设备系统启动(一) -- 客制化/给设备身份的CDT-CSDN博客
      2. PMIC, DDR and XBL device tree。
  4. XBL阶段 
    1. XBL(Extended Boot Loader)阶段,用于对硬件环境进行初始化,但这些通常与高通特定的技术相关,且可能不会出现在所有的高通平台上。
    2. 从XBL sc切换到XBL core, which is known as UEFI.
  5. UEFI 阶段
    1. UEFI mounts and runs ABL firmware volume (FV), which has Fastboot and Linux loader applications.
    2. 进行charging有关的设定和初始化,能够启动ADSP中支持PD快充
    3. pre-charge/quick charge/
  6. ABL阶段
    1. ABL的入口代码位于Linuxloader.c,其入口函数是Linuxloaderentry().
    2. Linux loader application (part of ABL FV) loads and authenticates the HLOS kernel with verified boot, jumps to HLOS. The HLOS runs at nonsecure EL1 mode.
  7. Kernel 阶段
    1. 从EMMC/UFS 中获取boot.img并加载到指定的内存区域。
    2. 加载内核、ramdisk、devicetree等组件到指定地址,然后引导kernel。
    3. 内核启动入口在head.S中,最终调用的函数是start_kernel,位于main.c中。
  8. Android 阶段
    1. init 经常创建孵化器进程,孵化器进程再逐个的创建Android运行时的service。显示界面,进入Android;

当我们熟悉了分区和阶段之后,在bringup主板阶段,就可以很好的区分,代码执行到哪个阶段了,具体位于哪个分区代码中。

--熟悉启动,定制启动。

http://www.yayakq.cn/news/579082/

相关文章:

  • 网站建设术语 英文深圳市盐田区建设局网站
  • 湛江做网站建设农业网站模板免费下载
  • seo网站合作wordpress 一年好贵
  • 专业做网文的网站网站过期怎么找回来
  • 咸宁响应式网站建设价格备案网站域名查询
  • 一些做设计素材的网站互助网站开发
  • 三门峡网站seowordpress 多个置顶
  • 网站免备案网站制作 网站建设 杭州
  • 北京网站建设推荐q479185700上快做网站一定要认证吗
  • 公益网站建设的意义怎么网站定制
  • 空压机网站开发公司.net网站开发的例子
  • 八度 网站建设外贸网站需要备案吗
  • 四川建设人才网站广州网站建设好公司
  • 给网站做解答是干嘛的营销型企业网站建设哪家好
  • 深圳网站建设外贸公司排名wordpress网店主题下载
  • 广州做企业网站中国建筑总公司网站
  • 做搞机网站新闻发稿平台有哪些?
  • 济南做网站的中企东莞常平碧桂园铂悦府
  • 开锁换锁公司网站模板wordpress 搞笑网站
  • 做采购应该关注的网站数据网站模板
  • 什么是网站地址网站建设的工作职责是什么
  • dw网站建设素材.net网站开发怎么发布
  • 万维网网站楚雄州城乡建设局网站
  • 青岛网站建设方案案例wordpress首页缩略图大小
  • 网站导航如何做半透明渐变google官方下载安装
  • 网站建设平台设备网站建设分金手指专业四
  • 潍坊网站建设公司电话电商网站竞价推广的策略
  • 沈阳seo网站关键词优化查找手机网站
  • 正保建设工程网站大丰哪家专业做网站
  • 上海培训网站建设网站服务器如何更改解析