Jump to main content

# 1.2.1 How the I2C Bootloader Library Works

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

The I2C 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

Rev: G