5.2 Communication Interfaces

The interfaces available for the host communication may differ between end applications. While the example bootloader is utilizing a basic configuration of the UART to receive the application code, this can easily be updated as needed by replacing the functions used as interface prototypes in boot.c.

/* Interface function prototypes */
#define BOOTLOADER_isRequested()    BUTTON_read()
#define INTERFACE_init()            USART_init()
#define INTERFACE_readByte()        USART_read()
#define INTERFACE_writeByte(a)      USART_write(a)

All AVR DA family have hardware UART, TWI, and SPI available for serial communication, and the I/O pins can also be used for custom digital protocols.