1.3 MPU CAN Bootloader

This example application shows how to use the Harmony Bootloader to bootload an application from SD/eMMC/NAND/Serial Flash memory and receives new application image using CAN-FD protocol and write it to SD/eMMC/NAND/Serial Flash memory.

Bootloader Application

  • This is a bootloader application which resides from:

    • Bootloader stored into SD/eMMC/NAND/Serial Flash memory

    • Bootloader executes from DDR memory. AT91Bootstrap loads bootloader from SD/eMMC/NAND/Serial Flash memory to DDR memory and executes it.

  • It uses CAN peripheral library in non-interrupt mode

  • It calls the bootloader_Tasks() function which receives application to be programmed into SD/eMMC/NAND/Serial Flash memory over CAN-FD bus. And it loads application image from SD/eMMC/NAND/Serial Flash memory to DDR memory and executes it.

  • It turns on an LED

  • Trigger Methods

    • It uses the On board Switch as bootloader trigger pin to force enter the bootloader at reset of device

SDCARD Host Application

  • This is an embedded CAN-FD host application which sends the application image stored in the SD card to the target board over the CAN-FD bus

  • The user application binary is copied into an SD card and inserted in the SD card connected on the host board

    can_bootloader_host_sdcard

Test Application

  • This is a test application which resides from:

    • Application stored into SD/eMMC/NAND/Serial Flash memory
  • It will be loaded from SD/eMMC/NAND/Serial Flash memory to DDR memory by bootloader application and starts application execution

  • It blinks an LED and provides console output

Development Kits

The following table provides links to documentation on how to build and run MPU CAN bootloader on different development kits.