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

    • Bootloader stored into SD/eMMC/NAND/Serial Flash memory for MPUs devices and it executes from DDR memory. AT91Bootstrap loads bootloader from SD/eMMC/NAND/Serial Flash memory to DDR memory and executes it

  • The Bootloader performs Flash erase/program/verify operations with the binary sent from Embedded host while in the firmware upgrade mode

    • The binary sent is only of the application to be programmed
    • Bootloader always performs Flash operation on MCU devices 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