Jump to main content
1 MCC Melody Bootloader: 8-bit
2.1 Communication Protocol
This component is used to configure which communication protocol is being used for data transfer between the Bootloader and the Host application.
2.2 I/O Pins
These components are used to enable the I/O operations the bootloader implements during execution.
2.3 Memory Verification Selector
This component is used to set the verification method used for application verification.
2.4 Boot End Address
This component is used to allow 8-bit PIC devices to configure where the bootloader section of Flash stops and the end application space begins.
2.5 Software Protection
This component is used to activate a software method for write-protecting the bootloader section of Flash for 8-bit PIC devices.
2.6 Erase Type
This component is used to configure the erase size for the bootloader’s erase action.
2.7 Optional Commands
This section of the UI is used to initialize optional commands that the bootloader supports but does not require for basic operation.
3 Unified Bootloader Host Application (UBHA)
4.1 AVR128DA48 Bootloader Example
Basic bootloader example using the UART driver interface with both XC8 and GCC compiler steps.
4.2 PIC18F57Q43 Bootloader Example
This example shows how to configure a generic bootloader for PIC devices that uses UART for communication.
5 Verification Schemes
This section discusses various methods to verify the application provided to the users by the bootloader module.
5.1 Check Reset Vector
The bootloader will check for a non-void value at a predefined location within the end application’s Reset Vector.
5.2 Check Status Byte
The bootloader and the host application will communicate program status through a Reset Byte value, also known as a State Flag or Status Byte.
5.3 Checksum
5.4 Cyclic Redundancy Check
6.1 Read Version
Enables the bootloader to read the version information from the configuration bits of the device.
6.2 Read Flash
Enables the bootloader to interface with various memory drivers used by 8-bit PIC and 8-bit AVR chips.
6.3 Write Flash
Enables the bootloader to write data to specified address locations.
6.4 Erase Flash
Enables the bootloader to initiate erase commands to the memory driver.
6.5 Read EE Data
Enables the bootloader to read bytes out from the EEPROM memory.
6.6 Write EE Data
Enables the bootloader to write some number of bytes to the EEPROM memory.
6.7 Read Config
Enables the bootloader to read the Configuration Words out of the chip’s memory.
6.8 Write Config
Enables the bootloader to write to the Configuration Word range of memory.
6.9 Calculate Checksum
Enables the bootloader to calculate and return a checksum value over a given range of memory addresses.
6.10 Reset Device
Enables the bootloader to initiate the device’s software Reset cycle.
7 References