1.1 USB Device HID Bootloader
This example application shows how to use the Bootloader Library to bootload an application using USB Device HID protocol.
Bootloader Application
- This is a bootloader application which resides from:
- The starting location of the Flash memory region for SAM devices
- The starting location of the Boot Flash memory region for PIC32MZ devices
- The starting location of Program Flash memory for PIC32MK, PIC32MX, and PIC32MM devices
- For MPU devices the bootloader typically resides in the initial region of non-volatile memory (NAND Flash, SD eMMC, or QSPI NAND Flash)
- It uses the USB Device HID port with Product ID 0x3C to receive application hex from host PC using the Unified Bootloader Host Application
- It calls the bootloader_Tasks() function which receives application to be programmed into Flash memory over USB Device HID port
- The application glows an LED once bootloader firmware is running
- Trigger methods:
- It uses the On board Switch as bootloader trigger pin to force enter the bootloader at reset of device
- It checks for bootloader request pattern (0x5048434D) from the starting 16 Bytes of RAM to force enter bootloader at reset of device
Test Application
- This is a test application which resides from:
- The end of bootloader size in device Flash memory for SAM devices
- The end of bootloader size in Program Flash memory for PIC32MK, PIC32MX and PIC32MM devices
- The start of Program Flash memory for PIC32MZ devices
- The end of bootloader size in memory for the MPU
- It will be loaded into Flash memory by bootloader application
- It blinks an LED and provides console output
- It uses the On board Switch to trigger the bootloader from firmware
- Once the switch is pressed it loads first 16 bytes of RAM with bootloader request pattern (0x5048434D) and resets the device
