1.4.1 How the CAN Bootloader library works

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

The CAN 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 starting location of the Boot flash memory region for MIPS based MCUs devices

  • 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 inactive bank once verification is completed or a normal reset to run the application in current bank based on command sent from host