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