Using MCUboot RAM loading with Zephyr for i.MX RT1060

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using MCUboot RAM loading with Zephyr for i.MX RT1060

923 Views
ildiko_pocsai
Contributor I

I’m currently trying to get the RAM loading working with MCUboot in Zephyr for i.MX RT1060 but I’m not able to make the bootloader boot the image. Here are the steps I did so far:

  • In "samples/sysbuild/with_mcuboot/sysbuild.conf", added SB_CONFIG_MCUBOOT_MODE_RAM_LOAD=y.
  • Set CONFIG_SRAM_SIZE=128 in samples/sysbuild/with_mcuboot-sysbuild/mcuboot.conf.

In the generated .config file I can see that the CONFIG_SRAM_BASE_ADDRESS=0x80000000 which seems to be correct. But MCUboot reports the error message "Unable to find bootable image" instead of starting the application.

I'm using the Zephyr release 4.1.0.

Do I need to make any other changes?

Thanks.

Ildikó

0 Kudos
Reply
4 Replies

625 Views
dereksnell
NXP Employee
NXP Employee

FYI  @ildiko_pocsai and @Omar_Anguiano ,

This article has steps and Git patches to enable RAM Loading on the RT1060 EVK, see https://community.nxp.com/t5/Zephyr-Project-Knowledge-Base/MCUboot-RAM-Loading-with-Zephyr/ta-p/2139...  .

Best regards

0 Kudos
Reply

830 Views
ildiko_pocsai
Contributor I

Hello Omar,

Thanks for your reply. Yes, I want to use the external SDRAM. Can you please explain me how to add the DCD to the image in Zephyr. I'm using Zephyr's sysbuild build system to build MCUboot and my application which uses the MCUboot imgtool to sign the image. But I cannot find any option for the imgtool to add the DCD.

Thanks.

Ildikó

0 Kudos
Reply

793 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

You can use a tool such as Secure Provisioning Tool or MCUBootUtility to add the DCD to the image, from the binary generated, the dcd can be added. If you don’t have already a dcd then you can generate it in ConfigTools.

Best regards,
Omar

0 Kudos
Reply

866 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Hello, I hope you are well. 
Address 0x80000000 is for external SDRAM, do you want to load the image to that SDRAM? IF that is the case, then you will need to add to your image the DCD so the SDRAM is initialized during boot, so when code is moved to the SDRAM, it is ready to execute. 

Best regards,
Omar

0 Kudos
Reply