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.
2.5 Enable Multi-Image
This component allows the user to configure multiple application image partitions.
3 MDFU Host (pymdfu)
4.1 Firmware Image Builder (pyfwimagebuilder)
4.2 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.
4.3 Creating an Application for PIC® Devices
This section demonstrates how to configure a bootable application configuration for 8-bit PIC® devices.
4.4 Supporting Interrupts for PIC® Devices
This section demonstrates how to enable interrupts in the application code for PIC® devices.
4.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.
4.6 Creating an Application for AVR® Devices
This section demonstrates how to configure a bootable application configuration for 8-bit AVR devices.
4.7 Supporting Interrupts for AVR® Devices
This section demonstrates how to enable interrupts in the bootloader and application code for AVR® devices.
4.8 Creating a Bootloader Client With Multiple Images and Anti-Rollback Protection
This section demonstrates how to configure a bootloader client to extend support for multiple application images with anti-rollback protection support.
5 Verification Schemes
This section discusses various methods to verify the application provided to the users by the 8-Bit MDFU Client library.
5.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.
5.2 Check Status Byte
The bootloader will verify program status through a predefined byte value, also known as a State Flag or Status Byte.
5.3 Checksum
The bootloader will verify program status by calculating and comparing a 16-bit checksum on the program data bytes.
5.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.
6 Assumptions of Use
This section communicates the most important assumptions of use for the 8-Bit MDFU Client and ecosystem.