I was hoping to find some guidance on the best solution for end user firmware upgrades with the iMXRT1062.
I’m aware of NXP’s boot image “MFG Tool” solution (https://community.nxp.com/docs/DOC-341317) and this is ok for production.
But we are hoping to find a slick solution for end users. Along the lines of copying a file (say a .hex or .bin) to a thumb drive, having the iMXRT1062 detect this fact, and re-flashing itself using it.
Hi Mike Spenard,
Some useful tools for your which is more easy to use than the MFG tool:
1. MCUBootUtility tool
https://github.com/JayHeng/NXP-MCUBootUtility/archive/v2.2.0.zip
the related user manual is:
https://github.com/JayHeng/NXP-MCUBootUtility
2. NXP-MCUBootFlasher
It is designed by the NXP I.MXRT AE.
Wish it helps you!
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Kerry, MCUbootUtil keeps giving me "This app can't run on your PC" in Windows 10. I've tried running as admin and compatibility mode. Any ideas?
Hi Mike Spenard,
Do you use this link download it?
https://github.com/JayHeng/NXP-MCUBootUtility/archive/v2.2.0.zip
Do you open NXP-MCUBootUtility.exe under:
NXP-MCUBootUtility-2.2.0\bin
What about the RT_Flash tool, is it work or not?
All these tools have been tested in the win10.
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
We're using LPUART2. Does this mean we can't use a serial line connection? We have USB1 & USB2 plumbed as normal.
Hi Mike Spenard,
You need to use the ROM defined LPUART to connect the RT in serial downloader mode, then you can use the MCUBootutility tool, or USB HID is also OK.
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Mike
The ROM loader supports USB1 and LPUART1. You can't use LPUART2 unless you first install a secondary loader, but you can use USB.
To use this means you need to also make the mode switches accessible to put the chip in the correct mode at reset and after the update switch them back to normal operating mode again.
I use the tools for development but don't think they are very suitable for end-users.
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]
Just tried out MCUBootUtil and MCUflasher. And I agree these aren't going to work for an end user. Only worth the time for production dept reasons. Having to hit a ISP mode switch is a bit archaic. I'd like to avoid that, as we're developing a hand held field instrument.
Mike
There may be a possibility of calling the ROM loader from an application so that switches aren't needed to enter the mode but it is the tools that are probably less suitable - one needs a PC to be connected directly and one needs to ensure that MAC, Linux and all PC OSs are compatible because not everyone uses newest versions and not everyone is on PC.
USB-MSD is quite universal because it doesn't need any program to be installed and works on all OS making it not a bad choice for local upgrading. As is also carrying a thumb drive or SD card to each board.
When Ethernet is available, remote uploading and version management across the Internet is of course the best solution (also host independent since FTP or Web Browsers can be used).
The ROM loader and the loading tools are invaluable for developers to fairly quickly load binaries but are no real substitute for a well defined firmware management/distribution and (secure) end user upgrading concept.
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]
Doh, looks like I needed the entire zip extracted and not just /bin/
Hi Mike
Try this one: - https://www.utasker.com/iMX/RT1060.html
Thumb drive, Ethernet, SD card updates also possible.
I don't have a video on the i.MX RT today but the operation is the same on this board: https://www.youtube.com/watch?v=dq-m-Dokq7E
and all is AES256 encrypted if desired - https://www.youtube.com/watch?v=MXsJvTdCcH4
for IP protection.
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]
Thanks, looks interesting. But I'm a bit lost as to how to compile/install this for our custom iMXRT1062 board (we use a different UART than NXP's EVAL board). This is for a commercial product, so we don't mind if there's a license or support cost associated. But I'd be thankful for any guidance right now you could you point me to on how to get started with this.
Mike
You can request an account on the web page (there is a form that can be filled out and then you will receive access to the private repository). To change the UART used one changes the project define (in app_hw_iMX.h).
It is set as LPUART1 for the EVBs:
#define LOADER_UART iMX_LPUART_1
but can be changed to iMX_LPUART2..8 and all the rest is automatic.
The only thing that can be tricky is when you use a different SPI flash chip since it may require the "boot_config" to be adapted and possibly a different LUT / command interface to be used.
Presently it can be built with IAR, MCUXpresso or stand-alone GCC make file but further IDEs will follow.
In you would like to discuss exact requirements contact me at an address on the web page or via PM - if you find the solution fits I can show you the settings to match your board on a remote desktop session.
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]