Skip navigation

emUSB-Device DFU class

  • 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
MCU-download.png

About emUSB-Device DFU class

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.

Application Samples emUSB-Device DFU

Fax
fax-500x.png
Camera
camera-500x.png
Router/Gateway
ROUTER-500.png
Smart watch
smartwatch-500x3.png
Printer
printer-500x.png

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