高通 安卓 Uefi 的理解
最近接触了高通bootloader,对UEFI有了一些理解,虽说不深入,俗话说不总结等于没学,因此还是小小总结一下;
UEFI早在PC领域名声大噪,UEFI+gpt以其自身优点干翻了传统bios+mbr,UEFI也成为了未来bootloader的发展方向(迟早都得学),计算机软件界有一个名言,计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决(抽象),UEFI也不例外,之所以bios不行一个重要的点就是因为他的兼容性,UEFI为固件和操作系统提供了统一的接口,打通了PC固件之间的鸿沟;
安卓bootloader从最初使用uboot,到lk(目前大多数依然是lk),一直到现在选择使用uefi,也足以证明UEFI的优势;
安卓UEFI:
UEFI 定义了操作系统 (OS) 与平台固件之间的软件接口。接口由包含平台相关信息的数据表以及可用于 OS 及其加载程序的启动和运行系统服务调用组成。它们共同提供用于启动 OS 和运行预启动应用程序的标准环境。这句话读10遍,UEFI核心思想!!
UFEI组成:
UEFI通过两部分实现:
1,XBL 核心包含芯片组特有的核心协议(驱动程序)以及核心应用程序(如充电)。XBL 核心是非 HLOS boot_images 代码的组成部分。
2,ABL 包含独立于芯片组的应用程序,如 fastboot。ABL 是 Code Aurora 论坛上开源 Linux Android 资源树的一部分。ABL 源由 BSD 颁发许可。
UEFI XBL 核心目录结构
boot_images
|--------->ArmPkg
|--------->...
|--------->EmbeddedPkg
|--------->...
|--------->MdePkg
|--------->...
|--------->QcomPkg
|--------->...
UEFI 应用启动加载程序 (ABL) 开源目录结构
bootable/bootloader/edk2
|--------->ArmPkg
|---------- ...
|----------EmbeddedPkg
|----------...
|----------MdePkg
|-----------...
|-----------QcomModulePkg
|----------- ...
启动流程框图
根据代码分析可知,UFEI由 XBL和ABL组成,其中代码在boot_image下,ABL代码(edk2)在bootable/bootloader下;
UEFI的四个阶段中,前三个都在XBL中执行,最后一个主要在ABL中执行;
芯片组相关的代码在XBL中,芯片组无关的代码在ABL中,例如fastboot,linuxloader都在ABL中;
另外,UEFI中应用程序均使用标准的模块分装,例如linuxloader;改接口包含inf,dec,fdf文件,改规范在官方文档中有详细的介绍!
高通 安卓 Uefi 的理解相关推荐
- 高通about.html 文件,高通平台UEFI有关介绍
高通平台UEFI有关介绍 背景 我需要在高通平台上学习点亮LCD,目前通过同事在别的平台的配置代码,我已经将kernel部分的屏幕点亮了:剩余的工作量就在BP侧,也就是系统刚开机的那一段时间.在开发过 ...
- 高通安卓调试LCD几方面总结
来公司上班现在已经整整一个月了,蔽人不才,能力有限,学习进度缓慢,不过也是有一点点的收获与心得,在这里写出来与大家分享,养成良好的记录习惯也免得后忘记. 不啰嗦了,开入正题.来公司一个月左右的时间,主 ...
- 高通安卓关闭WiFi服务不卸载驱动
高通安卓关闭WiFi不卸载驱动 由于客户的算法在注册授权时,会读取机器的一些硬件信息作为凭证,如果下次调用算法时,硬件信息不一致时,算法会注销不能再使用.硬件信息包括了WiFi的Mac地址,可是WiF ...
- android加载efi分区,高通Android UEFI XBL 代码流程分析
高通Android UEFI XBL 代码流程分析 背景 之前学习的lk阶段点亮LCD的流程算是比较经典,但是高通已经推出了很多种基于UEFI方案的启动架构. 所以需要对这块比较新的技术进行学习.在学 ...
- 高通安卓Q显示屏不同角度旋转竖屏横屏切换
由于项目需要,使用了竖屏当横屏用,所以需要将系统显示旋转90度,我们目前平台是基于高通QCM6125安卓10.0系统.为了方便以后其他角度的旋转,添加了persist.panel.orientatio ...
- 高通安卓平台BOARD-ID和MSM-ID
文章目录 BOARD-ID 传统格式 最新的格式 MSM-ID BOARD-ID 说明文档目录:kernel/msm4.14/Documentation/devicetree/bindings/arm ...
- 高通安卓msm8909适配gt1xx系列的TP
最近新开发项目,需要适配新的TP,lcd等等,因为更换了TP IC,适配需要更换驱动和节点信息等等,为了以后快速适配,写下来作为记录. 准备东西 1.找厂商拿配置文件,一般会提供xxxxx.cfg文件 ...
- 高通芯片启动流程概要
1.overview 基本引导流程流程: PBL->SBL1->UEFI(XBL+ABL)->OS 1. PBL 芯片ROM中固化的代码,就像BISO 2. SBL1 一级引导程序, ...
- 我所理解的高通UEFI之display的流程和移植
UEFI的流程 UEFI跟uboot一样都是在在kernel加载启动之前,正确的引导指定启动服务,并向内核传递信息,代替原先的uboot.它包含了上电.驱动实现,以及os环境的建立和应用程序(类似于f ...
最新文章
- 关于java Servlet,Struts,springMVC 的线程安全问题
- MATLAB中改变默认当前文件夹
- Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果
- 模块-基本概念和import导入复习
- mysql动态标签可以嵌套吗_Mysql动态嵌套游标
- C语言的变参函数设计
- Django时区设置的郁闷
- 数据库设计--企业人事管理系统(有关数据库的课程设计)
- PKI体系和数字证书
- 山海经妖兽录服务器维护,山海经九州异兽录不能登录怎么解决
- word 2016插入空白页页眉的办法
- PR:设置关键帧、调出效果搜索栏找到裁剪效果
- 很多次游戏的最后取胜实际上都有很强的偶然性
- 绍兴印象二 从三味书屋到百草园
- 这是你事业做不大的原因
- 小米发明“永动机”:走路即可为智能设备充电
- SkeyePlayer源码解析系列之支持H265
- android 老人机模式,如何将智能手机切换成老人机模式
- 180101 逆向-64位处理器
- 实名认证挂号订单就诊人管理管理员对就诊人管理
热门文章
- Matlab操作excel格式文件
- 学计算机这么课最大的收获是啥,计算机课程学习心得范文
- 女生选择了计算机专业能做什么工作?其实有这 5 种,前景很好
- GBase 8s 产品简介
- tex排版,论文中图片转为eps格式,(pdf,visio转pes)eps图显示不完全
- python while循环和for循环转换_Python的While循环和for循环,python,while
- 2019网红带货电商新趋势,与传统电商说再见-云秀传媒
- 第一个Java程序Hello World(IG牛逼)
- 动力学矩阵法计算石墨烯声子谱
- java项目进度跟踪管理系统