The purpose of the DFU middleware library is to provide an SDK for updating firmware images. The middleware allows creating these types of projects:
- The application loader receives an image and programs it into memory.
- A loadable application is transferred and programmed.
A project can contain the features of both types.
- Reads firmware images from a host through a number of transport interfaces, e.g. UART, I2C, SPI, CANFD
- Supports dynamic switching (during runtime) of the communication interfaces
- Provides ready-for-use transport interface templates based on HAL/PDL drivers for CAT1 devices
- Supported flow: MCUBoot compatibility
- Device support: CAT1B (PSOC Control C3)
- Programs a firmware image to the specified address in internal flash, XIP region or any external memory that supports the DFU API
- Validates applications
- Supports encrypted image files - transfers encrypted images without decrypting in the middle
- Supports customization
- Supports the CRC-32 checksum to validate data.
- Supports extend of the host command/response protocol with custom commands.
The DFU middleware requires configuration files which should be enabled by components in the Makefile. The application loader requires DFU_USER component, transport components (e.g. for loading with UART - DFU_UART). The loadable application does not require specific component and dfu_user.h file includes with DFU middleware. The configuration files is copies in the application and could be updated based on the specific use cases.
The Quick Start section of the DFU Middleware API Reference Guide describes step-by-step instructions to set up a DFU application.
For more information, refer to the following links:
- DFU Middleware Library Release Notes
- DFU Middleware Library API Reference
- AN213924 DFU SDK User Guide
- CE213903 DFU SDK Basic Communication Code Examples
- CAT1 Peripheral Driver Library API Reference
- Code Examples for ModusToolbox Software
- ModusToolbox Device Configurator Tool Guide
- ModusToolbox Device Firmware Update Host Tool
- Infineon Technologies AG
© Cypress Semiconductor Corporation (an Infineon company), 2024.