DFU (Device Firmware Upgrade)
Mer info
- Skapad av
- USB Implementers Forum
- Typ
- USB-enhetsklass
En standardiserad USB-klass för att ladda ny firmware i en enhet utan särskild programmeringsprob.
USB-IF definierade klassen för att varje tillverkare inte skulle behöva uppfinna sitt eget uppdateringsprotokoll. Enheten startar om i ett DFU-läge — oftast en bootloader som ligger kvar i ett skyddat flashområde — och visar sig då som en annan USB-enhet som kan ta emot och skriva en fil block för block. På datorsidan räcker ett generiskt verktyg som dfu-util.
Många mikrokontroller, bland andra flera STM32-familjer, har DFU inbyggt i ett ROM som inte går att skriva över, vilket gör enheten i praktiken omöjlig att förstöra med en dålig uppdatering. iPhones har ett eget DFU-läge med samma idé. Säkerhetsmässigt är det en dörr: utan signaturkontroll tar bootloadern emot vilken firmware som helst, och därför kombineras DFU i seriösa produkter med secure boot.