nRF54L15 mcuboot fprotect issue

Hello,

I'm developing for nRF54L15 the application with the NSIB + MCUBoot. I have a problem with fprotect in mcuboot returning EINVAL error.
That happens due to limitation of the max protect area size in function fprotect_area in file fprotect_rram.c to 0x7C00.
While building S0 and S1, the MCUBoot passes to fprotect function PM_S0_ADDRESS as start address and (PM_MCUBOOT_PRIMARY_ADDRESS - PM_S0_ADDRESS) as size.
Without pm_static file, the generated partitions for S0 and S1 have size of 0xC000 each.
The NSIB (b0) size is 0x8000 and is placed right before S0. The PM_MCUBOOT_PRIMARY_ADDRESS is equal to 0x20000 (placed right after S1 image).
It means that the fprotect_area function will take parameters start = 0x8000 and size = (0x20000 - 0x8000) = 0x18000.

How should I configure the project so I can build the application with NSIB + MCUBoot and protect both S0 and S1 images with fprotect?

NCS 2.9.0

Regards
Filip

Parents
  • Hello,

    For NSIB + MCUboot, I recommend using NCS version 3.0.0 or higher, as support for NSIB with the nRF54L15 is experimental in NCS versions below 3.0.0. Please refer to the Software Maturity Level section for more details.

    Could you try creating a pm_static file, which would allow you to manually define the sizes and addresses of the partitions? However, if you need the full 0xC00 of both S0 and S1, then creating a pm_static file may not be a viable solution.

    Let me know whether creating a pm_static file is an option for you.

    Kind regards,
    Abhijith

Reply
  • Hello,

    For NSIB + MCUboot, I recommend using NCS version 3.0.0 or higher, as support for NSIB with the nRF54L15 is experimental in NCS versions below 3.0.0. Please refer to the Software Maturity Level section for more details.

    Could you try creating a pm_static file, which would allow you to manually define the sizes and addresses of the partitions? However, if you need the full 0xC00 of both S0 and S1, then creating a pm_static file may not be a viable solution.

    Let me know whether creating a pm_static file is an option for you.

    Kind regards,
    Abhijith

Children
No Data
Related