Hva er DFU-filformatet?
.dfu-filer lagrer data for fastvareoppdatering for USB-tilkoblede enheter, i samsvar med spesifikasjonen USB Device Firmware Upgrade (USB-IF, revisjon 1.1, 2004). Formatet brukes primært for innebygde systemer og mikrokontrollere - STM32, Atmel, Nordic Semiconductor og lignende plattformer - snarere enn Apple-enheter for forbrukere, til tross for en vanlig misforståelse.
Oppdatering av enhetens fastvare innebærer alltid en risiko for å skade enheten og bør utføres med største forsiktighet. Fastvare er et programvareprogram innebygd i enhetens permanente minne i form av et fullstendig operativsystem eller et mellomliggende kontrollag. Fastvare kan oppdateres ved hjelp av .dfu-filer levert over en USB-tilkobling. Skadet fastvare kan forårsake permanent skade på enheten. De fleste moderne enheter bruker sikkerhetstiltak mot mislykkede oppdateringer: DFU-suffikset legger til en CRC32-kontrollsum i hver .dfu-fil, slik at enheten kan verifisere integriteten før oppdateringen tas i bruk.
En .dfu-fil består av en enhetsspesifikk fastvare-nyttelast etterfulgt av et obligatorisk 16-byte DFU-suffiks helt på slutten av filen. Suffikset koder for USB-leverandør-ID, produkt-ID, DFU-spesifikasjonsversjon (bcdDFU) og CRC32. STMicroelectronics utvider grunnformatet med en DfuSe-variant som brukes av STM32CubeProgrammer.
Apples iOS DFU-gjenopprettingsmodus bruker den samme USB-protokollen, men Apple distribuerer fastvare som signerte .ipsw-pakker - ikke rå .dfu-filer.
Sikkerhet og trygghet
RISIKO: MEDIUMDFU-filer er fastvarebilder beregnet på å bli flashet til maskinvareenheter. Flashing av feil eller ondsinnet fastvare kan ødelegge en enhet permanent (dårlig fastvare kan korrumpere oppstartslastere). Flash kun .dfu-filer fra den offisielle enhetsprodusenten. Selve filen er inert som data; risikoen ligger i å utføre flash-operasjonen. Vær forsiktig med nettsteder som distribuerer fastvare - verifiser alltid mot offisielle produsentkilder og sjekk CRC.
Formatdetaljer
i et nøtteskall- Apple iOS DFU-modus - Apple-enheter støtter DFU-modus (en USB-enhetstilstand), men Apples fastvare distribueres som signerte .ipsw-filer, ikke .dfu-filer; .dfu er ikke en Apple-spesifikk filendelse.
Programmer som åpner DFU-filer
Tekniske detaljer
dyp spesifikasjon| Plassering av DFU-suffiks | Siste 16 byte av filen - DFU-signaturen er et suffiks, ikke en header |
| Suffiks-magi | Byte ved EOF-7 til EOF-5: `0x55`, `0x46`, `0x44` - staver `DFU` baklengs (`UFD`) |
| Integritetssjekk | CRC32 over alle filbyte unntatt selve det siste 4-byte `dwCRC`-feltet; lagret i DFU-suffikset |
| Byterekkefølge | Little-endian (DFU-suffiksfelt i henhold til USB-IF-spesifikasjonen) |
| DFU-spesifikasjonsversjon | `bcdDFU`-felt i suffiks: `0x0100` = DFU 1.0 (1999); `0x011A` = DFU 1.1 (2004) |
| Fastvare-nyttelast | Enhetsspesifikk rå binærfil før suffikset - ingen standard magiske byte; formatet er definert av leverandøren |
| Leverandør-/produkt-ID | `idVendor`- og `idProduct`-felt i suffikset identifiserer mål-USB-enhetsklassen |
| STMicroelectronics DfuSe | Utvidet variant: `DfuSe` ASCII-prefiks ved start av nyttelast; brukes av STM32CubeProgrammer for STM32-fastvare |
| Apple-skille | iOS DFU-gjenoppretting bruker samme USB-protokoll, men fastvare distribueres som signerte `.ipsw`-pakker, ikke `.dfu`-filer |
| Komprimering | Ingen i den grunnleggende DFU-spesifikasjonen |
| Primær bruk | Innebygde mikrokontrollere (STM32, Atmel/AVR, Nordic Semiconductor) og andre USB-DFU-kompatible enheter |
| Åpen spesifikasjon | USB DFU Specification Revision 1.1 (USB-IF, 2004) definerer suffikset; formatet på fastvare-nyttelasten er leverandør-proprietært |
| Verktøy for flere plattformer | Det åpne kommandolinjeverktøyet `dfu-util` støtter standard DFU-enheter på Windows, macOS og Linux |
| Utgitt | 1999 (USB DFU specification 1.0 from USB-IF; revision 1.1 published 2004) |
| Siste versjon | USB DFU Specification Revision 1.1 (2004, USB.org) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.usb.org |
DFU-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om DFU-filer.