Hello,
I have compiled an SDK example for the RT1171 and generated the .axf file.
Since the device will boot form QSPI flash I have the XIP_BOOT_HEADER_ENABLE define set to 1 (it is like that by default), which will add the boot information to the application image that will be stored in the QSPI Flash.
What I want to achive is to program this same image with the Secure provisioning tool. What I have done is to convert the .axf file in .bin format using the IDE binary utilities and the loaded into the Write Image tab of the Secure Provisioning tool. here I get the error "Invalid file format for FlexSPI NOR, the write support only nopadding bootable image".
As workaround I have to generate the image with the IDE setting the XIP_BOOT_HEADER_ENABLE define to 0. and Then use the Secure Provisioning tool to generate the Build image and finally write. This is quite cumbersome as, although it seems I can debug with XIP_BOOT_HEADER_ENABLE set to 0 (not sure how it is possible), I cannot program successfully with the IDE as the image is missing the boot section which I believe is mandatory to boot properly form QSPI flash.
Please let me know I f I have mislead something or doing something wrong.
As side question i want to ask which is the best tool for image programming and fuses burning, also thinking about the production stage when we would need to automate everything, is it Secure Provisioning tool?
Best Regards,
Andrea
Solved! Go to Solution.
Hi Andrea,
thank you for your question. MCUxpresso Secure Provisioning tool currently requires pure application image without boot header as input for the build, see workflow described in user guide, (chapter 6.2.1.1).
In the future, we will support bootable image as an input, but we do not have any target date yet.
MCUxpresso Secure Provisioning tool can be used for manufacturing, see main menu > Tools > Manufacturing Tool. The tool uses script to provision the software into processor in ISP mode, so in case you need to tweak or customize the manufacturing process, you can manually modify the generated script. Also mind, the tool support parallel programming.
Happy provisioning
Hi Andrea,
thank you for your question. MCUxpresso Secure Provisioning tool currently requires pure application image without boot header as input for the build, see workflow described in user guide, (chapter 6.2.1.1).
In the future, we will support bootable image as an input, but we do not have any target date yet.
MCUxpresso Secure Provisioning tool can be used for manufacturing, see main menu > Tools > Manufacturing Tool. The tool uses script to provision the software into processor in ISP mode, so in case you need to tweak or customize the manufacturing process, you can manually modify the generated script. Also mind, the tool support parallel programming.
Happy provisioning
Hi Andrea,
as also noted in another older thread - https://community.nxp.com/t5/i-MX-Processors/MXP-MCU-Boot-Utility-vs-MCUxpresso-Secure-Provisioning-...
MCUBootUtility is not an official tool with all consequences. It might offer other features but you won't receive any official support.
For the most typical scenarios the SEC tool does its work, it is also suitable for small-mid production.
If more specialized use-cases or tight integration into other SW are needed (and not afraid to get dirty with low level code) https://github.com/nxp-mcuxpresso/spsdk might be the second option. SEC tool is built on top of SPSDK CLI utilities.
Could you please clarify what is the difference and which tool should I use fo future development?
As the name of this community section suggests, "Secure Provisioning Tool" is the tool to go with. Or SPSDK as mentioned above.
SEC vs MCUBootUtility
- both are GUI tools
- SEC offers (not only) in addition
- CLI interface
- Windows / Linux (Ubuntu) / Mac OS support
- Manufacturing support
- Trust Provisioning (Smart Card / Device HSM)
- Stable development and support
Regards,
Libor