Insecure Firmware Update Guide
This is a guide on how to manually update the firmware on a SLMX4-Base using the NXP-MCUBootUtility tool.
Downloads
- NXP-MCUBootUtility Tool: Instructions using this tool shown below
- MCUXpresso Secure Provisioning Tool: Alternate method to update SLMX4 firmware
Using the NXP-MCUBootUtility Tool
Step 1: Set the boot pins
Before we can use the tool, we need to set the boot pins on the SLMX4-Base itself.
When using the NXP-MCUBootUtility, set the SW4 pins to match the image on the
left, Firmware Update Mode
.
Once the firmware has been updated, set the SW4 pins to match the image on the
right, Normal Settings Mode
.
Firmware Update | Normal Settings |
---|---|
Once the boot pins are set, plug in the USB cable to power the SLMX4-Base. When
the boot pins are set in the Firmware Update Mode
, the RGB LED will display a violet color.
Step 2: Start NXP-MCUBootUtility
When you start the NXP-MCUBootUtility for the first time, you’ll need to make sure to select the correct NPX device. This will populate the vendor and product ID values in the ‘Port Setup’ area.
When the program starts, there will also be a text console window open. It will not have any content initially.
Next, click the ‘Connect to ROM’ button. This may take a few seconds, but there will a flurry of activity in the text window, and eventually, the main window will change.
Step 3: Update the Firmware
In the green box, click the ‘Browse’ button and select the .s19
firmware file
you wish to update. Since the firmware files are .s19
files, choose the option
for ‘Motorola S-Records (.srec/.s19)’.
Next, click the ‘All-In-One Action’ button just above. The main window will then change a few times.
After a few seconds, the window will change again and update as the firmware is flashed on to the SLMX4-Base.
Depending on the size of the firmware file, it can take a while to finish. Once the update is done, the program will play a sound. The progress bar will also be completely full.
Step 4: Reset the Boot Pins
Close the program and then unplug the USB cable from the SLMX4-Base.
Next, reset the boot pins for normal operation, then plug the USB in again. The SLMX4-Base should then boot normally and execute whatever firmware which was updated.
Using the MCUXpresso Secure Provisioning Tool
Step 1: Download the Correct Installer
Download the appropriate tool for your OS from this Dropbox Link: MCUXpresso Secure Provisioning Tool
Step 2: Install the Software (WinOS shown)
Click on the “MCUXpresso_Secure_Provisioning_v3.1.exe” file to install.
Close the installer and launch the MCUXpresso Secure Provisioning v3.1 software.
Step 3: Software Setup
The first time you run the provisioning tool, you will be greeted with this window:
The current SLMX4 uses the MIMXRT106S and so you will make this selection:
Click “Create” and this window will appear:
Step 4: Set the boot pins
Before programming the board with the MCUXpresso Secure Provisioning Tool, set the boot pins (SW4) on the SLMX4-Base to Firmware Update Mode
, same as Step 1 above.
Once the boot pins are set, plug in the USB cable to power the SLMX4-Base. When
the boot pins are set in the Firmware Update Mode
the RGB, Green, and Red LEDs will turn on.
Step 5: Flash the SLMX4 with the Firmware
Next, select an image to flash onto the SLMX4. Select “Browse…” next to the “Source executable image:” and select the .s19 file you wish to flash. If the “Configuration Helper” pop-up appears, click on “Deselect All” and click “OK”.
Next, for the “DCD (binary)” option, select “From Source Image” from the dropdown menu. Select “Build Image”
This window will appear. Ensure that the build was successful. You may close this mini-window and click on the “Write image” tab
From here, select “Write Image” and wait for the process to complete.
Ensure that the process is successful. You may close this mini-window. The SLMX4 is now flashed with your selected firmware.
Finally, unplug the unit and ensure the SW4 pins are back to Normal Settings Mode
, as seen in Step 1 above, then power-up the unit.