From 591efdc686da2c3aa8eb7dfe6f48ab27420aefcf Mon Sep 17 00:00:00 2001 From: Walt Johnson Date: Mon, 12 Aug 2024 14:34:57 -0600 Subject: [PATCH] Add information about bootloader UART timeout (#77) * Add information about UART timeout * Add summary text * Update firmware.md * Update bootloader.md * Update bootloader.md * Update bootloader.md * Update bootloader.md --- docs/user-manual/reference/bootloader.md | 19 ++++++++++++++++--- docs/user-manual/troubleshooting/firmware.md | 1 + 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/docs/user-manual/reference/bootloader.md b/docs/user-manual/reference/bootloader.md index 0858cc5..a60049d 100644 --- a/docs/user-manual/reference/bootloader.md +++ b/docs/user-manual/reference/bootloader.md @@ -1,12 +1,25 @@ -# Bootloader +# IMX-5.0 Bootloader -The bootloader is embedded firmware stored on the IMX and is used to update the IMX application firmware. Updating the bootloader firmware is required occasionally when new functionality is required. +The IMX-5.0 bootloader is embedded firmware stored on the IMX and is used to update the IMX application firmware. + +## Application Firmware Update + +The following are conditions for the IMX firmware update. + +- **Bootloader Enable** - At start of the firmware update process, the IMX is sent a "bootloader enable" command to reboot the processor into bootloader mode. The IMX will not reboot into application mode until a valid firmware upload has completed. +- **Handshake Sequence** - A handshake sequence consisting of five consecutive sync characters (`U`) spaced 10 ms (minimum 5 ms) apart is sent to the IMX to initiate a given port and close all other ports to prevent interference. +- **Application Enable** - The IMX reboots into application mode only after a valid firmware upload has completed. ## Bootloader Update -The bootloader is now checked and updated at the same time as loading new firmware. The following steps outline how to update the IMX bootloader and firmware. +Updating the bootloader firmware is occasionally necessary when new functionality is required. The bootloader is checked and updated at the same time as loading new firmware. The following steps outline how to update the IMX bootloader and firmware. 1. **Ensure IMX Firmware is Running** - *(This step is not necessary if the IMX firmware is running and the EvalTool is communicating with the IMX)*. If the bootloader is running but the firmware is not, version information will not appear in the EvalTool. The LED will also be a fading cyan. 2. **Select Baud Rate** - Select a slower baud rate (i.e. 115,200 or 230,400) for systems with known baud rate limits. 3. **Update the Bootloader and Firmware** - Use the EvalTool "Update Firmware" button in the Settings tab to upload the latest [bootloader](https://github.com/inertialsense/InertialSenseSDK/releases/tag/bootloader) and the latest firmware. **The bootloader can only be updated using serial0 or the native USB ports.** +## Known Issues + +The following are known issues in the IMX-5.0 bootloader. + +- **UART 50s Disable** - As of version v5g and prior, all UARTs get disabled if no handshake sequence is received within 50 seconds of the bootloader start. The USB port does not automatically close due to no handshake reception. diff --git a/docs/user-manual/troubleshooting/firmware.md b/docs/user-manual/troubleshooting/firmware.md index 638a290..b9f5e16 100644 --- a/docs/user-manual/troubleshooting/firmware.md +++ b/docs/user-manual/troubleshooting/firmware.md @@ -11,6 +11,7 @@ Check the following: - The input supply is at 3.3V and clean without noise. - The serial connection is grounded (no floating grounds). - The serial wires between the uINS module and the next active device (buffer, converter, or processor) are not longer than 1 meter when bootloading firmware. +- Reset or power cycle the IMX and promptly run the firmware update within 30 seconds of reset. A known issue in the IMX-5.0 bootloader version v6g and prior versions that disables all UARTS if no handshake is received within 50 second following startup. Resetting the IMX will re-enable UARTs for 50 seconds. ## Bootloader Update fails first time