Jump to main content

##

# 1.3.1 How the SPI Bootloader library works

The SPI Bootloader firmware communicates with the embedded host device by using a predefined communication protocol.

The SPI Bootloader works in two different modes

Basic Mode

- This mode is supported for all the devices

- Resides from

  - The starting location of the flash memory region for CORTEX-M based MCUs

- The Bootloader performs flash erase/program/verify operations with the binary sent from host while in the firmware upgrade mode

  - The binary sent is only of the application to be programmed
  - Bootloader always performs flash operation from the address for (bootloader or application) binary sent from host
  - The application can use the entire flash memory region starting from the end of bootloader space

- Jumps to the application once verification is completed

Fail Safe Update Mode

- This mode is supported for the devices which have a Dual Bank flash memory

- Resides from the starting location of the flash memory region of both the banks on CORTEX-M based MCUs

- The Bootloader performs flash erase/program/verify operations with the binary sent from host while in the firmware upgrade mode

  - Bootloader can perform flash operation in either of the banks based on the address sent by the host application

  - The application can use only the flash memory region of one bank.

- Performs a bank swap and reset to run the application programmed in opposite bank once verification is completed or a normal reset to run the application in current bank based on command sent from host