Jump to main content

# 1.6 USB Device HID Bootloader

The USB Device HID bootloader Library can be used to upgrade firmware on a target device without the need for an external programmer or debugger.

Features

- Supported on Cortex-M and MIPS based MCUs
- Uses Harmony 3 USB Device HID driver to communicate
- Supports Live update
- Takes Normalized Hex File as input
- Uses Unified Host application to receive the hex file from Host PC

USB Device HID Bootloader Block Diagram

The Bootloader framework is divided into 2 sub-systems.

- Bootloader Task:

  - Erases the Flash memory

  - Programs the hex file records into Flash memory

  - Computes a CRC check of the Application in Program Memory

  - Jumps to the Application

  - Calls the DataStream Task at end of its every state machine execution

  - This Task routine takes an interface-agnostic approach to the actual communication medium

  - Runs in Cooperative mode with other tasks in the system

- Datastream Task:

  - This Task implements the USB Device HID communication interface to the receive the hex file from the Unified Host Application running on Host PC

  - This Task is called from Bootloader Task routine

Rev: G