太仓手机网站建设,小程序平台登陆,网站改版原因,wordpress三方登录【需求】#xff1a; 在某些场景下#xff0c;需要在XBL阶段读取分区数据#xff0c;需要验证xbl阶段方案
这里主要以裸分区为例#xff0c;比如oem分区。 1、创建一个1MB大小的oem.img#xff0c;写入内容“test oem partition” 创建方式#xff1a;
dd if/dev/null …【需求】 在某些场景下需要在XBL阶段读取分区数据需要验证xbl阶段方案
这里主要以裸分区为例比如oem分区。 1、创建一个1MB大小的oem.img写入内容“test oem partition” 创建方式
dd if/dev/null ofoem.img bs1024 count1oem.img内容 2、XBL阶段读分区方案 2.1、创建oem_partition_id 在https://www.guidgenerator.com/online-guid-generator.aspx网站自动生成生成后加入boot_images/QcomPkg/XBLLoader/boot_gpt_partition_id.c文件
diff --git a/BOOT.XF.4.1/boot_images/QcomPkg/XBLLoader/boot_gpt_partition_id.c b/BOOT.XF.4.1/boot_images/QcomPkg/XBLLoader/boot_gpt_partition_id.c
index bd0b029739..51e7c294da 100755
--- a/BOOT.XF.4.1/boot_images/QcomPkg/XBLLoader/boot_gpt_partition_id.cb/BOOT.XF.4.1/boot_images/QcomPkg/XBLLoader/boot_gpt_partition_id.c-223,5 223,6 struct coldplug_guid aop_recovery_partition_id /*{B8B27C4C-4B5B-8AB2-502F-A792B590A896}*/{ 0xB8B27C4C, 0x4B5B, 0x8AB2, { 0x50, 0x2F, 0xA7, 0x92, 0xB5, 0x90, 0xA8, 0x96 } }; -
struct coldplug_guid oem_partition_id { 0x1B15724C, 0x4447, 0x438C, { 0x9B, 0xCB, 0x70, 0x7C, 0x0E, 0x77, 0x5F, 0x6B } };2.2、增加oem分区 partition_r_ext.xml文件增加oem分区
diff --git a/QCM2290.LA.3.0/common/config/emmc/partition_r_ext.xml b/QCM2290.LA.3.0/common/config/emmc/partition_r_ext.xml
index 97660152ae..0d53760192 100755
--- a/QCM2290.LA.3.0/common/config/emmc/partition_r_ext.xmlb/QCM2290.LA.3.0/common/config/emmc/partition_r_ext.xml-95,6 95,7 partition labelsuper size_in_kb4194304 type89A12DE1-5E41-4CB3-8B4C-B1441EB5DA38 bootablefalse readonlyfalse filenamesuper.img sparsetrue/partition labelprivdata1 size_in_kb102400 type32AB90B5-5276-4EB8-8EF7-3391E02DE9B1 bootablefalse readonlyfalse filenameprivdata1.img sparsetrue/partition labelprivdata2 size_in_kb102400 typeBCA1B29C-AE01-4C39-8521-D9727CF98BD0 bootablefalse readonlyfalse filenameprivdata2.img sparsetrue/partition labeloem size_in_kb1024 type1B15724C-4447-438C-9bCB-707C0E775F6B bootablefalse readonlyfalse filenameoem.img sparsefalse/partition labeluserdata size_in_kb4194304 type1B81E7E6-F50D-419B-A739-2AEEF8DA3335 bootablefalse readonlyfalse filenameuserdata.img sparsetrue//physical_partition/configuration2.3、读取oem分区流程
diff --git a/BOOT.XF.4.1/boot_images/QcomPkg/SocPkg/Library/XBLLoaderLib/sbl1_mc.c b/BOOT.XF.4.1/boot_images/QcomPkg/SocPkg/Library/XBLLoaderLib/sbl1_mc.c
index 9310f06ec2..b99fab70f8 100755
--- a/BOOT.XF.4.1/boot_images/QcomPkg/SocPkg/Library/XBLLoaderLib/sbl1_mc.cb/BOOT.XF.4.1/boot_images/QcomPkg/SocPkg/Library/XBLLoaderLib/sbl1_mc.c-1360,6 1360,7 void sbl1_populate_initial_mem_map(bl_shared_data_type* bl_shared_data)* None* */
void read_oem_partition(void);void sbl1_tlmm_init(bl_shared_data_type *bl_shared_data){/* Initialize Tlmm and gpio for low power config ,must be done after smem init*/-1367,6 1368,7 void sbl1_tlmm_init(bl_shared_data_type *bl_shared_data){BL_VERIFY(FALSE, BL_ERR_INIT_GPIO_FOR_TLMM_CONFIG_FAIL|BL_ERROR_GROUP_BOOT);} read_oem_partition();} -1632,6 1634,34 void device_programmer_init (bl_shared_data_type* bl_shared_data, boot_pbl_share} }extern uint8 oem_partition_id[];
void read_oem_partition(void)
{boot_boolean success FALSE;boot_flash_trans_if_type *trans_if NULL;uint8 oem_data_table[1024] {0};char data[1024] 0;boot_log_message(hanm:read_oem_partition1 );boot_set_entry_as_img_whitelist((uint64)(oem_data_table), (uint64)(1024));boot_flash_configure_target_image(oem_partition_id);trans_if boot_flash_dev_open_image(GEN_IMG);if (trans_if ! NULL) {success boot_flash_trans_read(trans_if,oem_data_table,0,1024,IMAGE_BODY_TYPE);boot_log_message(hanm:read_oem_partition2);snprintf(data, 1024, %s, oem_data_table);boot_log_message(data);boot_flash_dev_close_image(trans_if);}
}
/*** Function : sbl1_main_ctl** 启动效果如下