| FAVOURITE | VERSION | RELEASED | COMMENTS | ||
|---|---|---|---|---|---|
| ☆ | 2.1.0 | 2026-05-01 | v2.1.0 now fully supports both USB and I2C DFU devices, and improves Flash erase handling | VIEW HTML VIEW PDF | ZIP |
| View older versions | |||||
| 2.0.0 | 2026-03-27 | v2 adds I2C DFU device and host for XCORE with an host app for Raspberry Pi, along with adding XCommon-CMake build system support and some changes in Flash access | ZIP | ZIP | |
Summary¶
The Device Firmware Upgrade (DFU) library provides functionality to facilitate firmware updates over almost any transport physical layer. It includes support for handling DFU packets, managing firmware images, and ensuring the integrity of the update process.
Features¶
One upgrade slot
Support USB DFU spec v1.1
Support for custom transport layers
Known issues¶
USB example reports several warnings such as “port “XS1_PORT_1F” on tile[0] is not connected to any pins in this package.”, this is normal on small packages that do not have all the pins bonded out.
The
lib_device_controlclient handling currently consumes an additional thread as it is not distributable.For DFU over I2C the bus speed of up to 100kbps is supported. This is also supported with no clock stretching for all commands except
upload.DFU_ABORT request is supported in upload but not in download.
Development repo¶
Required tools¶
XMOS XTC Tools: 15.3.1 or later
Required libraries (dependencies)¶
Support¶
This package is supported by XMOS Ltd. Issues can be raised against the software at www.xmos.com/support or using GitHub issues.
