Introduction
Authors: Cristian Pop, Iustinian Bujor, Microchip Technology Inc. |
This application note describes how the AVR® DA MCU family of microcontrollers (MCUs) can use self-programming. This enables the user to download application code into Flash without the need for an external programmer. The example application is using the AVR128DA48 Curiosity Nano Board to communicate through the UART interface with a PC running a Python™ script.
To avoid transferring unuseful data, the current implementation includes a configuration section at the beginning of the image that will inform the bootloader about the features of the new image. Included in this information is the size of the code, so only the useful data will be transferred in the memory, thus significantly reducing the upload time.
The provided example bootloader application and Python™ scripts are suitable as starting points for custom bootloader applications. Each of the repositories below provide an example of bootloader and host application, for both MPLAB X and Atmel Studio environments.