Problem with BEE Config for Encryped XIP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Problem with BEE Config for Encryped XIP

1,506 次查看
jasr93
Contributor I

Hello

I'm currently working on a project with the MIMXRT1060 SoC.


My plan is to incorporate the MCUboot bootloader as SPL and have encrypted binaries.
To do this, I've been able to validate its correct operation using the mcuboot_opensource example and enable support for encrypted XIP.


I'm using the MCUXpresso SDK 25.3.0.


My intention now is to also encrypt the MCUboot using the Secure Provisioning Tool (SPT version 25.03).


I've created an authenticated XIP encrypted (BEE OTPMK) image, and within the XIP encryption (BEE OTPMK) section, I've selected the MCUBoot address range as protected region 0 (Region start: 0x60001000, Region length: 0x36000).


Finally, I set the BEE_KEY0_SEL and BEE_KEY1_SEL fuses to OTPMK and enabled Encrypted XIP fuse.


After flashing the created image, the BootROM successfully boots the encrypted MCUBoot.
However, MCUBoot execution stops at a certain point, and the MCU enters Serial Downloader mode.


After debugging the code, I was able to access the mcuboot/ext/nxp_encrypted_xip/src/encrypted_xip_platform_bee.c file, and specifically, the problem occurs after the BEE_SetConfig(BEE, &beeConfig); function.


My understanding is that the BootROM configures the BEE module to be able to decrypt the MCUBoot, and then the MCUBoot reconfigures it again to adjust the region where the final application binary image resides.


I understand the problem stems from the attempt to reconfigure the BEE module.


How should I proceed to configure the BEE module correctly? Do I need to adjust anything in the SPT tool, or do I need to make any adjustments to the encrypted_xip_platform_bee.c file?


Thanks in advance.

标签 (1)
0 项奖励
回复
3 回复数

1,327 次查看
Omar_Anguiano
NXP TechSupport
NXP TechSupport

If you have an encrypted image, you need to make sure that the boot_cfg[1] is enabled. 

Please call the getstatus function before and after BEE_setConfig(). Leave Region 0 untouched, as it’s already set up by BootROM.

Best regards,
Omar

0 项奖励
回复

1,294 次查看
jasr93
Contributor I
boot_cfg[1] is enabled.

Which getstatus function are you referring to exactly?

I can't find any getstatus function inside the Bee peripheral driver.
0 项奖励
回复

1,373 次查看
jasr93
Contributor I

Does anyone suggest any solution?

0 项奖励
回复