Zephyr's MCUBoot with RT1064-EVK board

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

Zephyr's MCUBoot with RT1064-EVK board

1,290 Views
bob_pham
Contributor III

Hi everyone. I'm exploring MCUBoot as part of the zephyr project. I've used zephyr's west build tool to successfully build MCUBoot for the frdm-K64f board. That success was probably due to the the associated dts file had all the necessary settings to support the build. My issue has to do with how to properly port the necessary settings to build MCUBoot for the RT1064-EVK board. The error I'm getting is:

Error: mimxrt1064_evk.dts.pre.tmp:742.1-8 Label or path flash0 not found
FATAL ERROR: Syntax error parsing input tree

Not sure I fully understand the error because I had updated the dts with info about flash0:


chosen {
zephyr,flash = &flash0;
zephyr,code-partition = &slot0_partition;
zephyr,console = &lpuart1;
zephyr,shell-uart = &lpuart1;
};

&flash0 {
/*
* For more information, see:
* https://docs.zephyrproject.org/latest/guides/dts/legacy-macros.html#legacy-flash-partitions
*/
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

boot_partition: partition@0 {
label = "mcuboot";
reg = <0x70000000 0x00010000>;
read-only;
};

/*
* The flash starting at 0x00010000 and ending at
* 0x0001ffff (sectors 16-31) is reserved for use
* by the application.
*/
storage_partition: partition@1e000 {
label = "storage";
reg = <0x7001e000 0x00002000>;
};

slot0_partition: partition@20000 {
label = "image-0";
reg = <0x70020000 0x00060000>;
};
slot1_partition: partition@80000 {
label = "image-1";
reg = <0x70080000 0x00060000>;
};
scratch_partition: partition@e0000 {
label = "image-scratch";
reg = <0x700e0000 0x00020000>;
};
};
};

  Any guidance on this issue is appreciated. Thanks

Labels (1)
Tags (2)
0 Kudos
3 Replies

1,278 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi bob_pham,

    RT1064 MCUBOOT code is not like the FRDM-K64 MCUBoot code.

    FRDM-K64 code is the flash code, but to the RT1064 MCUBoot code, it is the internal RAM code.

    Except for the RT1064 MCUBoot code, do you test any other code, eg, the led_blinky, whether that works or not? I mean, some projects are download to the RT1064 internal flash.

   Do you refer to this guider:

https://community.nxp.com/t5/Connects-Training-Material/Hands-On-Workshop-Build-Your-First-Zephyr-Ap...

 

Any updated information from your side, please kindly let me know.

Best Regards,

kerry

 

0 Kudos

1,272 Views
bob_pham
Contributor III

Hi Kerry,

Yes, other projects like led_blinky and hello_world worked as expected. But those projects linked the binary right into the start of flash (0x7000.0000). This was confirmed with the memory map file. But that's not the same as the MCUBoot project. MCUBoot requires several flash partitions: mcuboot partition, slot 0 partition, slot 1 partition, ....  My question was to request guidance in how to properly edit the device tree source for 1064_evk so that the zephyr build tool recognizes these partitions.

A follow up question is does NXP support the zephyr/mcuboot project? If so, has anyone looked into updating other i.MX RT family of evk boards to support mcuboot? 

Appreciate any guidance that you're able to provide. 

0 Kudos

1,262 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi bob_pham,

    Thanks for your updated information.

    In fact, to the RT, we normally use the NXP SDK related project, eg, IAR, MDK, MCUXpresso project.

    About the zephyr project and the related information, I checked the nxp.com website, seems most switch to the zephyr side.

   So, maybe about the zephyr detail project support, you need to contact zephyr:

https://www.zephyrproject.org/developer-resources/

   They also have the contact and community information on their website.

 

Best Regards,

Kerry

0 Kudos