Many embedded system designs need a method for updating a processor's firmware via standard communication buses. The bootloader for dsPIC33A DSCs uses Microchip Device Firmware Update (MDFU) Protocol, which provides a structured approach for updating the firmware of a client processor using a host processor over various communication interfaces. The figure below illustrates how an MDFU host, which can be either a PC or an embedded processor, transfers a new client application to an MDFU client running on a client processor. The client firmware update code then updates the client application with the new version received from the host.
The MDFU protocol offers several important characteristics for supporting the dsPIC33A Digital Signal Controller (DSC) devices. These characteristics include:
- Small Memory Footprint: Efficiently updates firmware while maintaining a small memory footprint
- File Transfer Approach: Uses a simple, stable, and processor-independent file transfer method
- Processor Agnostic: Commands and responses are compatible with various processor architectures
- Host and Client Compatibility: Hosts can update any attached MDFU client processor
- Customization: Supports processor-specific features without modifying the protocol
- Simplicity and Stability: Ensures reliable firmware updates with minimal compatibility issues
- Multiple Communication Interfaces: Easily adds support for new communication buses
- Corruption Detection and Recovery: Includes mechanisms for detecting and recovering from command/response corruption
- Code Reuse: Maximizes code reuse across different communication interfaces
These characteristics make the MDFU protocol a robust and versatile solution for updating the firmware of dsPIC33A DSCs, ensuring compatibility, reliability, and ease of implementation across various embedded system designs.
Demo: dsPIC33A Bootloader and Firmware Upgrade Demo
This example demonstrates dsPIC33A DSC firmware update implemented on the Curiosity Platform Development Board (EV74H48A) with a dsPIC33AK128MC106 DIM (EV02G02A), showcasing the following features:
- Firmware Update via UART: Utilizes the Microchip Device Firmware Update (MDFU) protocol to ensure reliable firmware update over UART
- Application Verification: Implements a 32-bit CRC-32Q signature for verifying the integrity of the application firmware
To access the complete dsPIC33A DSC MDFU based Bootloader library and demo, visit: dsPIC33A Bootloader and Firmware Upgrade Demo