1.4.2.2 CAN Bootloader Firmware Update mode execution flow
Bootloader Task Flow
Bootloader task is the main task which calls the Input sub-tasks in a forever loop.
It calls the Input task to poll for command packets from host
Once complete packet is received Input Task calls Command task to process the received command
If the command received was a data command Command task calls Flash Task to flash the application
Input Task Flow
This task is used to receive the data bytes from embedded host
The task keeps polling for data to be received when bootloader is in idle mode
Once the packet reception is completed it gives control to Command Task
Command Task Flow
The task first validates the incoming packet from host with expected header information
The task processes the commands received from Input Task and provides response back to host accordingly
If the command received is a Data command it gives control to the Flash Task
Flash Task Flow
This task is responsible to program the internal flash memory with data packet received
For CORTEX-M based MCUs
The task uses the NVM peripheral library to perform the Unlock/Erase/Write Operations
For MIPS based MCUs