Invalid file format FlexSPI Nor nopadding with IDE generated .bin file

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Invalid file format FlexSPI Nor nopadding with IDE generated .bin file

跳至解决方案
3,012 次查看
andrelongo85
Contributor I

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

 

0 项奖励
回复
1 解答
2,999 次查看
marek-trmac
NXP Employee
NXP Employee

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

Regards,
Marek


NOTE: If you find the answer useful, kindly click on [ACCEPT AS SOLUTION] button

在原帖中查看解决方案

0 项奖励
回复
3 回复数
3,000 次查看
marek-trmac
NXP Employee
NXP Employee

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

Regards,
Marek


NOTE: If you find the answer useful, kindly click on [ACCEPT AS SOLUTION] button
0 项奖励
回复
2,977 次查看
andrelongo85
Contributor I
Hi Marek,

Thanks for your reply. That clarifies a lot.
Since I have got your attention, I ave another quick question...I have seen that NXP offers also another tool which is quite similar to the SP tool (or at least for me), which is MCUBootUtility:
https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/One-stop-secure-boot-tool-NXP-MCUBootUtility-v1-...
Could you please clarify what is the difference and which tool should I use fo future development?

Kind regards,

Andrea
0 项奖励
回复
2,887 次查看
liborukropec
NXP Employee
NXP Employee

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

标记 (1)
0 项奖励
回复