DFU (Device Firmware Upgrade)
More info
- Creator
- USB Implementers Forum
- Type
- USB device class
A standard USB class for loading new firmware onto a device without a dedicated programming probe.
The USB-IF defined the class so that every vendor wouldn't have to invent its own update protocol. The device reboots into DFU mode — usually a bootloader sitting in a protected flash region — and re-enumerates as a different USB device that accepts a file and writes it block by block. On the host side a generic tool such as dfu-util does the job.
Many microcontrollers, several STM32 families among them, carry DFU in a ROM that cannot be overwritten, which makes the device effectively unbrickable by a bad update. iPhones have their own DFU mode built on the same idea. From a security standpoint it's a door: without signature checks the bootloader accepts any firmware at all, which is why serious products pair DFU with secure boot.