Skip to content

Commit

Permalink
Add information about bootloader UART timeout (#77)
Browse files Browse the repository at this point in the history
* Add information about UART timeout

* Add summary text

* Update firmware.md

* Update bootloader.md

* Update bootloader.md

* Update bootloader.md

* Update bootloader.md
  • Loading branch information
waltjohnson authored Aug 12, 2024
1 parent 66e750f commit 591efdc
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
19 changes: 16 additions & 3 deletions docs/user-manual/reference/bootloader.md
Original file line number Diff line number Diff line change
@@ -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.
1 change: 1 addition & 0 deletions docs/user-manual/troubleshooting/firmware.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 591efdc

Please sign in to comment.