DFU (Device Firmware Upgrade)
Meer info
- Gemaakt door
- USB Implementers Forum
- Type
- USB-apparaatklasse
Een standaard USB-klasse om nieuwe firmware op een apparaat te zetten zonder aparte programmeerprobe.
De USB-IF definieerde de klasse zodat niet elke fabrikant een eigen updateprotocol hoefde te bedenken. Het apparaat herstart in DFU-modus — meestal een bootloader in een beschermd flashgebied — en meldt zich opnieuw aan als ander USB-apparaat dat een bestand accepteert en blok voor blok wegschrijft. Aan de hostkant doet een generiek hulpmiddel als dfu-util het werk.
Veel microcontrollers, waaronder meerdere STM32-families, hebben DFU in een ROM dat niet te overschrijven is, waardoor het apparaat feitelijk niet kapot te updaten is. iPhones hebben een eigen DFU-modus die op hetzelfde idee is gebouwd. Qua beveiliging is het een deur: zonder handtekeningcontrole accepteert de bootloader elke firmware, en daarom combineren serieuze producten DFU met secure boot.