1.2 UART Fail Safe Bootloader
This example application shows how to use the Bootloader Library to bootload an application on device having dual Flash bank feature using UART protocol.
Bootloader Application
- This is a fail safe bootloader application which resides from:
- The starting location of both the banks of device Flash memory region for SAM devices with dual bank support
- The starting location of the BFM region for PIC32M devices with dual bank support
- It uses the Virtual Com port of the device (EDBG port or External USB to UART converters) to receive application binary from host PC
- It calls the bootloader_Tasks() function which receives application to be programmed into opposite bank of Flash memory over UART channel
- Trigger methods:
- It uses the On board Switch as bootloader trigger pin to force enter the bootloader at reset of device
- It checks for bootloader request pattern (0x5048434D) from the starting 16 Bytes of RAM to force enter bootloader at reset of device
Test Application
- This is a test application which resides from:
- The end of bootloader size in device Flash memory for SAM devices with dual bank support
- The start of PFM for PIC32MZ,
PIC32MK devices with dual bank support
- The last ROW of each bank is reserved for storing the serial number which is updated by bootloader after every firmware upgrade
- It will be loaded into Flash memory by bootloader application
- It blinks an LED and provides console output
- It uses the On board Switch to trigger the bootloader from firmware (May not be
supported on all devices)
- Once the switch is pressed it loads first 16 bytes of RAM with bootloader request pattern (0x5048434D) and resets the device
