1.2.0 • Published 1 year ago
@mchp-mcc/mdfu-client-8bit v1.2.0
MCC Melody 8-Bit MDFU Client Library
Overview
The MPLAB® Code Configurator Melody 8-Bit MDFU Client Library allows users to configure and generate code to more quickly and easily setup MCUs to utilize a device firmware update process.
Components
- 8-Bit MDFU Client Library in MCC Melody – Allows easy graphical configuration and code generation for bootloader client.
- pyfwimagebuilder - Converts hex files into DFU image format, ensuring compatibility with bootloader requirements for seamless firmware updates.
- pymdfu - Host Application to facilitate the transmission of DFU image to the bootloader client, streamlining the update process.
Features
- Supports UART Communication
The main requirements for the generated bootloader code are:
- Determine if a valid end-application is loaded
- Communicate/Execute supported Commands
- Erase/Rewrite end-application memory space
- Transfer control to end application
Related Documentation
- Release Notes
- Getting Started Document, API Reference and Update Image Specification
- Known Issues List
GitHub Examples
- 8-Bit MDFU Bootloader Client Example for AVR128DA48
- 8-Bit MDFU Bootloader Client Example for PIC18F56Q24
- 8-Bit MDFU Bootloader Client Example for PIC16F18446
Changelog
All notable changes to this project will be documented in this file.
1.2.0 - 2024-12-19
New Features and Improvements
- M8BTL-3717 :- Added interrupt driven support for the communication protocols that require it
- M8BTL-3651 :- Documented the memory consumption details for each verification scheme
- M8BTL-3575 :- Updated the FTP to support all v1.0.0 optional error codes
- M8BTL-3574 :- Renamed the FTP static response enumerations
- M8BTL-3507 :- Updated the getting started guide to explain how to enable interrupts for MDFU Client library for various devices
- M8BTL-3506 :- Updated the getting started document to have steps for building the most optimal project configuration for customers
- M8BTL-3400 :- Updated use case examples section to include separate examples for AVR and PIC devices
- M8BTL-2828 :- Updated 8-bit MDFU Client library to support I2C communication interface
1.1.0 - 2024-09-06
Bug Fixes
- M8BTL-3603 :- Order of the bootloader's IO pins is not alphabetical
- M8BTL-3602 :- Generated bootloader_configurations.toml file for SPI has "coms=UART"
- M8BTL-3592 :- Remove period from the Communication Protocol's "None" option
- M8BTL-3483 :- Fixed issue with Q10 interrupt support
- M8BTL-3404 :- Fixed incorrectly generated bit mask name for AVR EB
- M8BTL-3403 :- Fixed a syntax error with status byte footer box in Getting Started Documentation
- M8BTL-3402 :- Added more information about how to calculate BOOT partition for AVR devices
- M8BTL-3326 :- Fixed incorrectly generated sigrow address for AVR devices
- M8BTL-3310 :- Fixed incorrect page size generated for Q20 devices in the TOML file
- M8BTL-2717 :- Fixed XC8 compilation failure for AVR EA due to default 32K Segment project property setting
- M8BTL-2667 :- Older PIC16 Devices Interpreted the device id incorrectly
New Features and Improvements
- M8BTL-3336 :- Added automation for importing the configuration / sigrow addresses
- M8BTL-3334 :- Added automation for importing the NVM unlock keys
- M8BTL-3296 :- Improved memory layer unit tests
- M8BTL-3271 :- Added automation for setting the Device ID UI Component
- M8BTL-3270 :- Removed calls to interface_t object in com_adapter implementation
- M8BTL-3269 :- Added automation for setting the communication driver's module name to 'SERCOM'
- M8BTL-3268 :- Added automation for enabling the Device ID Read functionality on NVM driver
- M8BTL-2569 :- Added automation to call the example code in the main.c
- M8BTL-1212 :- Updated 8-Bit MDFU Client Library to support SPI communication interface
1.0.0 - 2024-05-16
New Features and Improvements
- M8BTL-2937 :- Updated MDFU Client UI to rename BOOTSIZE fuse component to "Application Start Address" and hide CODESIZE fuse component
- M8BTL-2856 :- Refactored MDFU Client library to extract communication specific bytes from transfer frame in communication adapter layer
- M8BTL-2613 :- Updated FTP module to use the standard Transport Failure error codes defined in the protocol specification
- M8BTL-2605 :- Fixed the incorrect error codes being returned for AbortFileTransfer response
- M8BTL-2216 :- Enabled support for AVRDU device family in MDFU Client library
Bug Fixes
- M8BTL-2919 :- Fixed the command for Image Builder tool usage in the Getting Started documentation
- M8BTL-2609 :- Fixed a typo error in the MCC notification related to generating the signature row APIs
- M8BTL-2606 :- Updated AVR bootloader UI to provide a mechanism for preventing the linker from corrupting the bootloader
- M8BTL-2598 :- Removed the MCC notification for successful connection to PLIB
- M8BTL-2596 :- Fixed compiler warning related to implicit conversion from long to unsigned long
- M8BTL-2571 :- Fixed the compiler warning about implicit conversion in memory layer
- M8BTL-2570 :- Fixed a MISRA violation related to negative check against an 24-bit unsigned integer
- M8BTL-2504 :- Updated MCC UI to generate a warning for invalid device ID and block the code generation