Irdeto uboot启动流程基于原始uboot基础上通过调用Irdeto的LoaderCoreAPI来实现一些CA的私有模块及其他模块的校验与加载,来替换原有的uboot的一些流程;
简单的callstack如下:
->LoaderCoreAPI_StartBootStrap();
->irdeto_private_flow
->autoboot_sequence_r[]
仅看Upgrade完毕后的开机流程如下:
LoaderCoreAPI_StartBootStrap函数中解析Irdeto USB Upgrade 后的模块信息,校验并加载这些模块;
1.加载模块信息:LoaderCoreSPI_Module_GetModuleIdList
2.读取并校验应用模块(module id>=0x20):LC_ReadAndVerifyExistingModule
3.加载模块到内存;Kernel会在这里加载,后续就不需要再执行uboot中的load_kernel流程