Hvad er DFU-filformatet?
.dfu-filer gemmer firmware-opdateringsdata til USB-forbundne enheder i overensstemmelse med USB Device Firmware Upgrade-specifikationen (USB-IF, revision 1.1, 2004). Formatet bruges primært til indlejrede systemer og mikrocontrollere - STM32, Atmel, Nordic Semiconductor og lignende platforme - snarere end Apple-enheder til forbrugere, på trods af en udbredt misforståelse.
Opdatering af enheds-firmware indebærer altid en risiko for at beskadige enheden og bør udføres med største forsigtighed. Firmware er et softwareprogram indlejret i enhedens permanente hukommelse i form af et fuldt operativsystem eller et mellemliggende kontrollag. Firmware kan opdateres ved hjælp af .dfu-filer leveret over en USB-forbindelse. Beskadiget firmware kan forårsage permanent skade på enheden. De fleste moderne enheder anvender sikkerhedsforanstaltninger mod fejlslagne opdateringer: DFU-suffikset tilføjer en CRC32-kontrolsum til hver .dfu-fil, hvilket gør det muligt for enheden at verificere integriteten, før opdateringen anvendes.
En .dfu-fil består af en enhedsspecifik firmware-payload efterfulgt af et obligatorisk 16-byte DFU-suffiks i slutningen af filen. Suffikset koder for USB-producent-ID (vendor ID), produkt-ID, DFU-specifikationsversion (bcdDFU) og CRC32. STMicroelectronics udvider basisformatet med en DfuSe-variant, der bruges af STM32CubeProgrammer.
Apples iOS DFU-gendannelsestilstand bruger den samme USB-protokol, men Apple distribuerer firmware som signerede .ipsw-pakker - ikke rå .dfu-filer.
Sikkerhed og tryghed
RISIKO: MEDIUMDFU-filer er firmware-images beregnet til at blive flashet til hardwareenheder. Flashing af forkert eller ondsindet firmware kan ødelægge en enhed permanent (dårlig firmware kan korrumpere bootloadere). Flash kun .dfu-filer fra den officielle enhedsproducent. Selve filen er inaktiv som data; risikoen ligger i at udføre flash-operationen. Vær forsigtig med websteder, der distribuerer firmware - bekræft altid mod officielle producentkilder og tjek CRC.
Formatdetaljer
kort fortalt- Apple iOS DFU-tilstand - Apple-enheder understøtter DFU-tilstand (en USB-enhedstilstand), men Apples firmware distribueres som signerede .ipsw-filer, ikke .dfu-filer; .dfu er ikke en Apple-specifik filendelse.
Programmer der åbner DFU-filer
Tekniske detaljer
dyb specifikation| Placering af DFU-suffiks | Sidste 16 bytes af filen - DFU-signaturen er et suffiks, ikke en header |
| Suffiks-magic | Bytes ved EOF-7 til EOF-5: `0x55`, `0x46`, `0x44` - staver `DFU` baglæns (`UFD`) |
| Integritetskontrol | CRC32 over alle fil-bytes undtagen selve det sidste 4-byte `dwCRC`-felt; gemt i DFU-suffikset |
| Byte-rækkefølge | Little-endian (DFU-suffiksfelter i henhold til USB-IF-specifikationen) |
| DFU-specifikationsversion | `bcdDFU`-felt i suffiks: `0x0100` = DFU 1.0 (1999); `0x011A` = DFU 1.1 (2004) |
| Firmware-payload | Enhedsspecifik rå binær data før suffikset - ingen standard magic bytes; formatet er defineret af producenten |
| Producent/Produkt-ID | `idVendor`- og `idProduct`-felter i suffikset identificerer mål-USB-enhedsklassen |
| STMicroelectronics DfuSe | Udvidet variant: `DfuSe` ASCII-præfiks ved payload-start; bruges af STM32CubeProgrammer til STM32-firmware |
| Apple-forskel | iOS DFU-gendannelse bruger samme USB-protokol, men firmware distribueres som signerede `.ipsw`-pakker, ikke `.dfu`-filer |
| Komprimering | Ingen i basis-DFU-specifikationen |
| Primær anvendelse | Indlejrede mikrocontrollere (STM32, Atmel/AVR, Nordic Semiconductor) og andre USB-DFU-kompatible enheder |
| Åben specifikation | USB DFU Specification Revision 1.1 (USB-IF, 2004) definerer suffikset; firmware-payload-formatet er producent-proprietært |
| Værktøjer til flere platforme | `dfu-util` open-source kommandolinjeværktøj understøtter standard DFU-enheder på Windows, macOS og Linux |
| Udgivet | 1999 (USB DFU specification 1.0 from USB-IF; revision 1.1 published 2004) |
| Seneste version | USB DFU Specification Revision 1.1 (2004, USB.org) |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.usb.org |
DFU-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om DFU-filer.