The 8-bit Microchip Device Firmware Update (MDFU) Client Library enables the creation of bootloaders for 8-bit microcontrollers (MCUs). The solution uses the Microchip Firmware Image Builder (pyfwimagebuilder) tool to generate the application image file (.img) and MDFU (pymdfu) host tool to program the new image using a newly designed File Transfer Protocol (FTP). Currently, only UART communication is supported but I2C and SPI support are coming soon.
A bootloader is used when users or manufacturers want to update their device's firmware in the field with a new application, without needing a conventional programmer and, while minimizing device downtime. To do this, the device in the field needs some communication method that can transfer data between the device that needs an update—the target device—and a PC or other device with the new application firmware—the host app—that needs to be installed. This implies that the device in the field must contain the end application and another piece of software that controls the loading and unloading of that end application.