引言
在本篇博客中,我们将深入分析 Android SDM660 源码中的 UEFI XBL QcomChargerApp 充电流程。通过对代码的详细解析和架构知识的串讲,帮助初学者建立起清晰的知识框架,逐步理解每个步骤的工作原理。
一、加载 UEFI 默认应用程序
在高通代码中,QcomChargerApp 作为默认应用程序配置在 uefiplat.cfg
中。系统开机过程中,初始化 BDS(Boot Device Selection)时,会调用 LaunchDefaultBDSApps()
函数,实现对默认应用程序的调用。
STATIC EFI_STATUS EFIAPI LaunchDefaultBDSApps (VOID) {
CHAR8 DefaultApp[DEF_APP_STR_LEN]; // 定义存储默认应用程序名称的字符数组
Status = GetConfigString("DefaultChargerApp", DefaultApp, &Size); // 获取默认充电应用程序的名称
Status = LaunchAppFromGuidedFv(&gMainFvGuid, DefaultApp, NULL); // 启动默认充电应用程序
Size = DEF_APP_STR_LEN; // 重置字符数