【Android SDM660开机流程】- UEFI XBL 代码流程分析
一、UEFI XBL
1.1 boot_images代码目录
1.2 UEFI代码运行流程
1.3 SEC (安全验证)
1.4 PEI (EFI前期初始化)
1.5 DXE (驱动执行环境)
1.6 BDS (启动设备选择)
1.7 XBL Loader
1.8 RT(Run Time)
先来看下SDM660芯片冷启动的流程,可以看出,在设备上电后,先跑的是 APPS PBL,接着运行XBL SEC、XBL Loader,通过Loader引出XBL CORE APPSBL,最后进入HLOS。
我们来看下这几个涉及的模块大概功能:
Application primary boot loader (APPS PBL)
PBL 启动时,CPU只开启了第一个核心 CPU Core 0,运行固件在ROM中,这部分是高通写死在芯片中的固件,外部开发人员是无法修改这部份的。
主要功能为:
(1)系统安全环境的初始化,以确保后续的XBL中的APPS 能够正常运行。
(2)根据boot gpio的配置选择从什么设备启动操作系统(如 Nand,USB等)。
(3)通过检测GPIO判断是否进入Emergency Download mode&#