Jump to main content

# 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

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.

Rev: C