Jump to main content
1 MCC Melody 8-Bit MDFU Client Library
2.1 Communication Protocol
This component is responsible for configuring the communication protocol used for data transfer between the bootloader host and bootloader client.
2.2 Memory Verification Selector
This component configures which verification method is used for user application verification.
2.3 I/O Pins
These components are used to enable the I/O operations of the bootloader firmware.
2.4 Application Start Address
This component allows the user to configure where the memory partition for the application begins. This also means that the memory partition of the bootloader client will end at this address.
3 Firmware Image Builder (pyfwimagebuilder)
4 MDFU Host (pymdfu)
5.1 Creating a Bootloader Client for PIC® Devices
This section demonstrates how to configure a bootloader for 8-bit PIC devices using UART, SPI, or I2C for communication.
5.2 Creating an Application for PIC® Devices
This section demonstrates how to configure a bootable application configuration for 8-bit PIC® devices.
5.3 Combining the Bootloader and Application for PIC® Devices
This section demonstrates how to merge the bootloader and application projects into a single hex file for 8-bit PIC devices.
5.4 Supporting Interrupts for PIC® Devices
This section demonstrates how to enable interrupts in the application code for PIC® devices.
5.5 Creating a Bootloader Client for AVR® Devices
This section demonstrates how to configure a bootloader for 8-bit AVR devices using UART, SPI, or I2C for communication.
5.6 Creating an Application for AVR® Devices
This section demonstrates how to configure a bootable application configuration for 8-bit AVR devices.
5.7 Combining the Bootloader and Application for AVR® Devices
This section demonstrates how to merge the bootloader and application projects into a single hex file for 8-bit AVR® devices.
5.8 Supporting Interrupts for AVR® Devices
This section demonstrates how to enable interrupts in the bootloader and application code for AVR® devices.
6 Verification Schemes
This section discusses various methods to verify the application provided to the users by the 8-Bit MDFU Client library.
6.1 Check Reset Vector
The bootloader will check for a non-void value at a predefined location within the Reset Vector of the end application.
6.2 Check Status Byte
The bootloader will verify program status through a predefined byte value, also known as a State Flag or Status Byte.
6.3 Checksum
The bootloader will verify program status by calculating and comparing a 16-bit checksum on the program data bytes.
6.4 Cyclic Redundancy Check
The bootloader will verify program status by calculating and comparing a 16-bit or 32-bit CRC on the program data bytes.
7 Assumptions of Use
This section communicates the most important assumptions of use for the 8-Bit MDFU Client and ecosystem.