DFU class
Overview
Using the USB Device Firmware Upgrade (DFU) class a firmware upgrade function can be simply added to any USB device. Due to the standard protocol usual tools (like dfu-util) can be used on the host to perform a firmware upgrade of the USB device. Upload of firmware images is also supported.
The DFU class can be combined with any other USB class and does not require additional endpoints.
Key features
- Simply enable firmware update capability for any USB device
- Download and upload of firmware images supported
- Standard tools for firmware upgrades can be used on the host
- Small footprint
Application Samples emUSB-Device DFU
Fax
Camera
Router/Gateway
Smart watch
Printer
DFU operation
The DFU class supports two operation modes: Runtime and DFU mode. In runtime mode the USB device performs its normal operation and signals the host the DFU capability. But in this mode it is not able to accept firmware downloads. The host may switch the USB device into DFU mode, in which firmware upgrades can be done. This is helpful if the firmware of the USB device is separated into a runtime firmware and a bootloader.
It is also possible to run the DFU component in a single configuration mode, where firmware downloads can be processed in normal operation mode of the USB device.
Components
Components required to use the DFU class:
- emUSB DFU
- emUSB-Device core
- emUSB target driver