Zephyr build image(sample blinky application) not getting flash through NXP Secure Provisioning Tool V4.0 for i.MX RT 1166EVK #45559
Replies: 8 comments 3 replies
-
I had tried few things as below on i.MX RT1060 EVK, Tried to build the zephyr sample application using west build command for i.MX RT1060 EVK platform & could able to generate the required binary. Same procedure I followed with the i.MX RT1160 EVK platform. I could not able to provide input on SPT V4, its showing error as "bootable image is not supported,image without header must be used" . Kindly suggest how to overcome this problem? |
Beta Was this translation helpful? Give feedback.
-
Hi @vishnusudhan , I am glad you found a manual workaround.
Your final boot image needs the header to properly boot. But if you are using SPT to generate and add that header to your image, yes you can manually remove the header from the Zephyr binary.
I would also try using Kconfig settings to do this, like you are looking into. But I do not have the specific steps required yet; this will require some investigation. Best regards |
Beta Was this translation helpful? Give feedback.
-
Hi @DerekSnell , Have you get any chance to investigate this issue further? Is it possible to generate zephyr binary image without boot header(starting with application content). Is the same way the zephyr binary can be generate(should start from application content) to provide input in the SPT? |
Beta Was this translation helpful? Give feedback.
-
To enable building a Zephyr image targeting the RT1166 EVK that does not have a boot header or any form of padding prior to the image, you may set the following configuration settings in your project's
Note that unless you provide DCD data to initialize the onboard SDRAM, you may need to change the RAM bank that the application targets to OCRAM. You may do so by adding a devicetree overlay file with the following contents to your project:
You can use this devicetree overlay file by passing the variable The resulting hex file should work with SPT. |
Beta Was this translation helpful? Give feedback.
-
I tried the above mentioned changes in the MCUBoot (prj.conf), Now, I can able to detect the image in SPT & able to flash. After flashing the image , the board getting rebooting continuously upon trying to Jump to the first image slot(entering application).
Have you come across this kind of issue after adding the above changes? kindly suggest how to rectify this issue? |
Beta Was this translation helpful? Give feedback.
-
Hi @vishnusudhan ,
I am listing the full steps here to replicate what I did, for the benefit of others who may want to do something similar. I am working with Zephyr v3.1.0 release. But I find MCUboot does not build for the MIMXRT1160-EVK yet (there are open PRs to fix this), so the attached
Then I build MCUboot with the command:
The MCUboot image built is included in the ZIP as zephyr_MCUboot.hex.
The generated file from SPT is zephyr_MCUboot_nopadding.bin in the ZIP attachment. I then setup the EVK and use SPT to program this file to the flash, with these steps:
Next I build the hello_world sample for MCUboot, and flash to the EVK using these steps:
This application file hello_world_for_MCUboot.bin is included in the ZIP.
Let us know if that works for you. Best regards |
Beta Was this translation helpful? Give feedback.
-
Hi @vishnusudhan , Best regards |
Beta Was this translation helpful? Give feedback.
-
Hi @vishnusudhan , So yes, regardless of CONFIG_NXP_IMX_RT_BOOT_HEADER, you can change the size of the boot_partition to fit the size of MCUboot bootloader. My example above, I selected CONFIG_SIZE_OPTIMIZATIONS=y to squeeze MCUboot into the existing boot_partition size. Another option, you can increase the boot_partition size to fit the bootloader with whatever optimization setting you prefer. Best regards |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I am using NXP MCU Secure provisioning tool V4.0 to flash the zephyr based sample blink application , I could able to flash the sample code through JTAG (JLink Segger).
Now, I need to flash the application with zephyr using USB-HID/UART, so , I choose the NXP secure provisioning tool to flash the application image . When I try to select the required binary image (build with zephyr) to flash through secure provisioning tool V4.0 , I am getting **
error like bootable image not supported , image without header must be used
**
Is there any reference available how to remove header ? so I will try to flash the image without header . Also please refer , where I need to find the exact start address to flash the required image(layout) ?
Beta Was this translation helpful? Give feedback.
All reactions