In my previous article “Debug and Execute Code from FLASH on the Seeed Arch Mix NXP i.MX RT1052 Board” I explained how to take complete control over the board and flash and debug a firmware. Of course this overwrites the one which comes by default shipped on the board. This article is about how to restore or update the original firmware.
This article shows how to restore the original Seeed firmware on the Arch Mix i.MX RT1052 board (or to flash any other firmware or binary file).
What you need is:
- Seeed Arch Mix i.MX RT1052 board
- NXP MCUXpresso IDE (Eclipse based) (I’m using V11.0.0)
- NXP LPC-Link2 Debug probe (see Debug and Execute Code from FLASH on the Seeed Arch Mix NXP i.MX RT1052 Board)
- SWD Adapter board (e.g. from Adafruit)
💡 Do *not* install the jumper JP2 (provide power to the target), as with this debugging most likely will fail.
Download the firmware zip file from the Seeed Wiki page (direct link: https://github.com/SeeedDocument/GM6020/raw/master/res/Firmware_and_Tools.zip).
There are two parts involved:
- The bootloader (originally developed with Keil tools, but we don’t want to use that here)
- The firmware which includes MicroPython
1. Bootloader
From that zip file, extract the ‘bootloader.zip‘ file:
From that bootloader.zip file, extract the file rtthread-imxrt.axf:
From the NXP MCUXpresso IDE, open the GUI Flash tool and use the .axf file for the programming:
💡 To erase any firmware parts too, select ‘program (mass erase first)’
With this, the bootloader is programmed on the board and should show up on the console like this:
Next we load the firmware (application):
2. Firmware
Reset the board and enter a key to stop autoboot and to enter the bootloader mode:
Now the more diffcult part because the firmware loader has not been translated from Chinese: run the PersimmonModConfigTool.exe (a C# application) which is included as ‘Config’ tool inside the zip file and click on that menu item to the right:
Use the ‘browse’ button to the right to select the *.rbl file which is part of the firmware zip file. Then use the button on the bottom to transmit the file:
The tool will report the status:
More verbose output is produced in the console.
That’s it: I have the original firmware again running on the board 🙂
Happy restoring 🙂
Links
- Seeed Studio Arch Mix NXP i.MX RT1052 Board
- Debug and Execute Code from FLASH on the Seeed Arch Mix NXP i.MX RT1052 Board
- Seeed Wiki: http://wiki.seeedstudio.com/Arch_Mix/
- Seed product page: https://www.seeedstudio.com/Arch-Mix-p-2901.html
Pingback: Using SEGGER J-Link with QSPI FLASH on NXP i.MX Boards | MCU on Eclipse