1.2 USB Host MSD Bootloader

This example application shows how to use the Bootloader Library to bootload an application using USB Host MSD 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 and PIC32MX devices
  • It uses the Harmony 3 File System Framework to receive the application binary from a USB Flash Drive
  • It calls the bootloader_Tasks() function which receives application to be programmed into Flash memory from a USB Flash Drive
  • 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 and PIC32MX devices
    • The start of Program Flash memory for PIC32MZ devices
  • 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