1.3 MPU OTA Bootloader - SD/NAND/Serial Flash
This example application shows how to use the MPU OTA Bootloader Library to bootload an application from SD/NAND/Serial Flash memory and receives new application image using RNBD and write it to SD/NAND/Serial Flash memory.
MPU OTA Bootloader and Applications Block Diagram
OTA Bootloader
- This is a bootloader application which resides from:
- OTA Bootloader stored into SD/NAND/Serial Flash memory
- OTA Bootloader executes from DDR memory. AT91Bootstrap loads OTA bootloader from SD/NAND/Serial Flash memory to DDR memory and executes it.
- Then OTA Bootloader loads OTA application image from SD/NAND/Serial Flash memory to DDR memory and executes it
Performs Below Operation
- Read the metadata (image size) stored in the external memory.
- Reads the OTA application binary stored from the external memory and Programs the binary to the DDR memory.
- Run OTA application as below:
- Calls the SYS_Deinitialize() function which releases the resources used. This Function is device specific and has to be implemented based on application requirement.
- Jumps to application space to run the OTA application
OTA Application
- This is a OTA application which
resides from:
- OTA Application stored into SD/NAND/Serial Flash memory
- It blinks an LED and provides console output
- It calls the OTA_SERVICE_Tasks() function which receives the binary over OTA to be programmed into the external memory
- Once the binary is received and programmed into the external memory, it generates a CRC32 value over programmed external memory space and verifies it against the received CRC32
- If verification is successful then it updates the metadata (image size) and trigger reset to run new application binary through OTA bootloader
