1 Bootloaders

This section provides information about Microchip WLCSP family of devices that come with a preprogrammed bootloader, the protocol used, and pinout details. It also provides details on the non-WLCSP family of devices that have bootloader support.

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

A bootloader is a small application that starts the operation of the device. A bootloader does not fully operate the device but can perform the following functions before starting the main application:
  • Firmware upgrades
  • Application integrity
  • Starting the application

The following table provides a list of the WLCSP family of devices that include a factory-programmed bootloader.

Table 1-1. List of WLCSP Family of Devices
FamilyApplication NoteProtocolComments
SAMD1xUART
SAMD20AT09002I²C/SPIAT09002

SAM I²C - SPI bootloader

SAMD21AT09002I²C/SPIAT09002

SAM I²C - SPI bootloader

SAMC2xAT09002UART/I²CAT09002

SAM I²C - SPI bootloader

SAML1xAN2699UART AN2699

SAM UART bootloader

SAML21AT09002I²C/SPIAT09002

SAM I²C - SPI bootloader

SAML22AT09002I²C/SPIAT09002

SAM I²C - SPI bootloader

SAMD5x/ E5xUART
SAMG5xAT09002I²CAT09002

SAM I²C - SPI bootloader

Note: Devices in the WLCSP include a factory-programmed bootloader. Contact a local Microchip sales office for more information.

Hardware Pin Configurations

The following table provides the I2C and SPI pin configurations for the WLCSP bootloaders.

Table 1-2. I2C and SPI Pin Configurations
Pin DescriptionSAML21SAML22SAMD1xSAMD20SAMD21SAMC2xSAMG5x
ResetRESETNRESETNRESETNPB12RESETNRESETNRESETN
SDAPA08PA12PA06PA08PA08PA22PA03
SCLPA11PA13PA05PA09PA11PA23PA04
MISOPA08PA12PA06PA08PA08-PA12
MOSIPA11PA15PA05PA18PA11-PA13
SCKPA09PA13PA07PA09PA09-PA14
Handshake pinPA27PA16PA14PB13PA14-PA01
CSPA10PA14PA04PA17PA10-PA11

The following table provides the UART pin configurations for the WLCSP bootloaders.

Table 1-3. UART Pin Configurations
DeviceUART TXUART RXEntry
SAMC2xPA22PA23PA19
SAML1xPA16PA17PA19
SAMD5xPB12PB13PA27
Note:
  1. The bootloader entry pin has an active-low level, and its value is sampled at the beginning of the bootloader execution. Although an internal pull-up resistor is enabled before sampling the pin, it is recommended that the bootloader entry pin is pulled-up externally for improved noise immunity.
  2. The UART settings used by this bootloader are 115200 8N1.
  3. This bootloader supports UART baud rate auto-tuning. This feature may be useful for Hosts that cannot set the exact value of the baud rate. Auto tuning can be initiated at any point of the operation. To perform auto-tuning, the Host must send a break signal (at least 11 bits of low level) followed by a character 0x55. No response is expected for this request.

The following table provides a list of non-WLCSP family of devices that include a factory-programmed bootloader.

Table 1-4. Non-WLCSP Family of Devices with Factory Programmed Bootloader
FamilyProtocolComments
SAM4S/

SAM4E/

SAM4C/

SAM3x

UART/USB16 kB ROM with embedded bootloader routines (UART, USB) and IAP routine.
SAM E70/ S70/V70/V71UART/USB16 kB ROM with embedded bootloader routines (UART, USB) and IAP routine.
PIC32CM LE/LSx USB/I2CThe bootloader resides in the Flash memory location (0x0000-0000) and utilizes up to 4KB of Flash memory. It comes with default protection against write/erase through the SULCK and BOOTPROT fuse settings.

Options to program bootloaders are as follows:

  • Microchip pre-programmed at the wafer level (QuickTime Programming)
  • Microchip off-board programming (microchipDIRECT programming services)
  • On-board programming by customer
  • Off-board programming by customer

How to use bootloaders: