
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 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.
Restored Seeed 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 a binary file).
What you need is:
Debugging the Seeed Arch Mix i.MX RT1052 Board with LPC-Link2 and MCUXpresso IDE
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.
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:
Firmware_and_Tools.zip
From that bootloader.zip file, extract the file rtthread-imxrt.axf:
rtthread-imxrt.axf
From the NXP MCUXpresso IDE, open the GUI Flash tool and use the .axf file for the programming:
Flashing Default Firmware
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:
Restored bootloader
Next, we load the firmware (application).
2. Firmware
Reset the board and enter a key to stop autoboot and to enter the bootloader mode:
Entered bootloader mode
Now, the more difficult 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:
Persimmon
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:
File to load
The tool will report the status:
Status
More verbose output is produced in the console.
That’s it: I have the original firmware again running on the board:
Restored Seeed Firmware
Happy restoring!