3.6.1.2 Overview

Bootloader firmware uses the following primary modules:

  • USB Mass Storage Device (MSD) Class
  • Hex Parser
  • Virtual File System
  • Drivers:
    • SERCOM UART for Bluetooth
    • NVMCTRL

Harmony 3’s USB MSD class is used. The file system used by USB MSD is implemented virtually for 1 MB size supporting the memory to drop .hex file for SAMD21 device.

The Virtual File System and Hex Parser code keep looking for .hex files from PC. If the user drops a .hex file, then the .hex file is parsed to extract the Flash memory content and written to Flash memory using NVMCTRL drivers. The status is updated continuously in the Bluetooth COMPORT at a 115200 baud rate.