Vad är filformatet DFU?
.dfu-filer lagrar data för firmware-uppdateringar för USB-anslutna enheter, enligt specifikationen USB Device Firmware Upgrade (USB-IF, revision 1.1, 2004). Formatet används främst för inbyggda system och mikrokontrollrar - STM32, Atmel, Nordic Semiconductor och liknande plattformar - snarare än konsumentenheter från Apple, trots ett vanligt missförstånd.
Uppdatering av enhetens firmware innebär alltid en risk för att skada enheten och bör utföras med största försiktighet. Firmware är ett programvaruprogram inbäddat i enhetens persistenta minne i form av ett fullständigt operativsystem eller ett mellanliggande kontrollager. Firmware kan uppdateras med hjälp av .dfu-filer som levereras via en USB-anslutning. Skadad firmware kan orsaka permanent skada på enheten. De flesta moderna enheter använder säkerhetsåtgärder mot misslyckade uppdateringar: DFU-suffixet lägger till en CRC32-kontrollsumma till varje .dfu-fil, vilket gör att enheten kan verifiera integriteten innan uppdateringen tillämpas.
En .dfu-fil består av en enhetsspecifik firmware-nyttolast följt av ett obligatoriskt 16-byte DFU-suffix i slutet av filen. Suffixet kodar USB-leverantörs-ID (vendor ID), produkt-ID, version av DFU-specifikationen (bcdDFU) och CRC32. STMicroelectronics utökar basformatet med en DfuSe-variant som används av STM32CubeProgrammer.
Apples iOS DFU-återställningsläge använder samma USB-protokoll, men Apple distribuerar firmware som signerade .ipsw-paket - inte råa .dfu-filer.
Säkerhet & trygghet
RISK: MEDIUMDFU-filer är firmware-avbildningar avsedda att flashas till hårdvaruenheter. Flashing av felaktig eller skadlig firmware kan göra en enhet permanent obrukbar (dålig firmware kan korrumpera bootloaders). Flasha endast .dfu-filer från den officiella enhetstillverkaren. Filen i sig är inert som data; risken ligger i att utföra flash-operationen. Var försiktig med webbplatser som distribuerar firmware - verifiera alltid mot officiella tillverkarkällor och kontrollera CRC.
Formatdetaljer
i ett nötskal- Apple iOS DFU-läge - Apple-enheter stöder DFU-läge (ett USB-enhetstillstånd) men Apples firmware distribueras som signerade .ipsw-filer, inte .dfu-filer; .dfu är inte en Apple-specifik filändelse.
Program som öppnar DFU-filer
Tekniska detaljer
djup specifikation| Placering av DFU-suffix | De sista 16 byten i filen - DFU-signaturen är ett suffix, inte en header |
| Suffix-magic | Bytes vid EOF-7 till EOF-5: `0x55`, `0x46`, `0x44` - stavar `DFU` baklänges (`UFD`) |
| Integritetskontroll | CRC32 över alla filens bytes utom själva det sista 4-byte `dwCRC`-fältet; lagras i DFU-suffixet |
| Byte-ordning | Little-endian (fält i DFU-suffix enligt USB-IF-specifikation) |
| DFU-specifikationsversion | `bcdDFU`-fält i suffixet: `0x0100` = DFU 1.0 (1999); `0x011A` = DFU 1.1 (2004) |
| Firmware-nyttolast | Enhetsspecifik rå binärdata före suffixet - inga standardiserade magic bytes; formatet är leverantörsdefinierat |
| Leverantörs-/produkt-ID | `idVendor`- och `idProduct`-fält i suffixet identifierar målklassen för USB-enheten |
| STMicroelectronics DfuSe | Utökad variant: `DfuSe` ASCII-prefix vid nyttolastens början; används av STM32CubeProgrammer för STM32-firmware |
| Apple-distinktion | iOS DFU-återställning använder samma USB-protokoll men firmware distribueras som signerade `.ipsw`-paket, inte `.dfu`-filer |
| Komprimering | Ingen i bas-specifikationen för DFU |
| Primär användning | Inbyggda mikrokontrollrar (STM32, Atmel/AVR, Nordic Semiconductor) och andra USB-DFU-kompatibla enheter |
| Öppen specifikation | USB DFU Specification Revision 1.1 (USB-IF, 2004) definierar suffixet; formatet för firmware-nyttolasten är leverantörsspecifikt |
| Verktyg för flera plattformar | Det öppna kommandoradsverktyget `dfu-util` stöder standard DFU-enheter på Windows, macOS och Linux |
| Släppt | 1999 (USB DFU specification 1.0 from USB-IF; revision 1.1 published 2004) |
| Senaste version | USB DFU Specification Revision 1.1 (2004, USB.org) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.usb.org |
DFU-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om DFU-filer.