End consumer firmware upgrades

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

End consumer firmware upgrades

1,507 Views
mspenard603
Contributor IV

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.

0 Kudos
12 Replies

1,218 Views
kerryzhou
NXP TechSupport
NXP TechSupport

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

GitHub - JayHeng/NXP-MCUBootFlasher: Aka "RT-Flash", A end-user mode version of NXP-MCUBootUtility, ... 

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.
-------------------------------------------------------------------------------

0 Kudos

1,218 Views
mspenard603
Contributor IV

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?

Untitled.png

0 Kudos

1,218 Views
kerryzhou
NXP TechSupport
NXP TechSupport

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.
-------------------------------------------------------------------------------

0 Kudos

1,218 Views
mspenard603
Contributor IV

We're using LPUART2. Does this mean we can't use a serial line connection? We have USB1 & USB2 plumbed as normal.

0 Kudos

1,218 Views
kerryzhou
NXP TechSupport
NXP TechSupport

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.

pastedImage_1.png

pastedImage_2.png

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.
-------------------------------------------------------------------------------

0 Kudos

1,218 Views
mjbcswitzerland
Specialist V

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]

0 Kudos

1,218 Views
mspenard603
Contributor IV

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.

0 Kudos

1,218 Views
mjbcswitzerland
Specialist V

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]

0 Kudos

1,218 Views
mspenard603
Contributor IV

Doh, looks like I needed the entire zip extracted and not just /bin/

0 Kudos

1,218 Views
mjbcswitzerland
Specialist V

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]

0 Kudos

1,218 Views
mspenard603
Contributor IV

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.

0 Kudos

1,218 Views
mjbcswitzerland
Specialist V

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]

0 Kudos