Hva er UF2-filformatet?
UF2 står for USB Flashing Format, et filformat Microsoft opprettet i 2017 for sin MakeCode (PXT)-plattform. Det er bygget for å flashe mikrokontrollere over USB Mass Storage: kortet vises som en vanlig flyttbar stasjon, og du kopierer fastvare til den som hvilken som helst annen fil. Spesifikasjonen er åpen og publisert av Microsoft under en MIT-lisens.
En .uf2-fil er en flat sekvens av 512-byte blokker. Hver blokk er selvstendig - den bærer en 32-byte header med «magiske tall», mål-flash-adressen, nyttelastlengden, blokkens indeks og totale antall, og en familie-ID som identifiserer målbrikken, etterfulgt av opptil 476 byte med fastvare og et avsluttende magisk tall. Dette designet løser et reelt problem: et operativsystem kan skrive blokkene i en kopiert fil i hvilken som helst rekkefølge, så ved å gjøre hver blokk uavhengig kan kortets bootloader flashe data i det øyeblikket de ankommer, uten noen gang å se en ufullstendig fil.
De fleste møter UF2 når de programmerer hobby- eller utdanningskort. Raspberry Pi Pico (RP2040), BBC micro:bit og mange Adafruit-, Arduino- og Seeed-kort godtar UF2, og det er slik CircuitPython- og MakeCode-prosjekter blir installert. Du får vanligvis en .uf2 ved å eksportere den fra et redigeringsprogram som MakeCode eller ved å laste ned en ferdigbygd fastvare for akkurat ditt kort. Relaterte fastvareformater du kan se inkluderer rå .BIN-bilder og Intel .HEX-filer.
Sikkerhet og trygghet
RISIKO: MEDIUMA UF2 file is passive data and cannot run on your PC, but flashing firmware rewrites a board's program memory. Only flash a .uf2 that is built for your exact board, and only from a source you trust, since the wrong or malicious firmware can leave a board unusable until you reflash a known-good image.
Formatdetaljer
i et nøtteskallProgrammer som åpner UF2-filer
.uf2 file onto that drive. uf2conv.py firmware.bin -o firmware.uf2, or inspect a UF2 with uf2conv.py -i firmware.uf2. .uf2 file onto the removable drive the board presents in bootloader mode. .uf2 file onto it. python3 uf2conv.py firmware.bin -o firmware.uf2 to build or inspect UF2 files. Tekniske detaljer
dyp spesifikasjon| Encoding | binary |
| Byte order | little-endian (all 32-bit fields) |
| Container | flat sequence of independent 512-byte blocks |
| Typical size | a few KB to about 1 MB |
| Structure | A series of 512-byte blocks; each has a 32-byte header (magic numbers, target flash address, payload size, block index and count, family ID), up to 476 bytes of firmware payload, and a trailing magic number |
| Versioning | flags and 32-bit family-ID field identify the target chip (for example RP2040) |
| Integrity | three magic numbers per block (0x0A324655, 0x9E5D5157, 0x0AB16F30) validate each block; no CRC |
| Platforms | Windows, macOS, Linux, ChromeOS |
| Initial Release Full | 2017, with Microsoft MakeCode |
| Notes | You do not open a UF2 to view it; you copy it onto the board's USB drive to flash firmware. Because each 512-byte block is self-contained, the operating system can write the blocks in any order and the bootloader still flashes correctly. |
| Utgitt | 2017 (Microsoft MakeCode / PXT) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | github.com |
UF2-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om UF2-filer.
Ofte stilte spørsmål
Hvordan åpner jeg en UF2-fil?
.uf2-filen over til den stasjonen. Kortet flasher den og starter på nytt.Hvordan setter jeg en Raspberry Pi Pico i bootloader-modus?
.uf2-filen over til den, og kortet starter på nytt med den nye fastvaren.Kan jeg konvertere en UF2-fil til BIN?
uf2conv.py trekker ut den rå binærfilen med uf2conv.py file.uf2 -c -o file.bin. Hold oversikt over flash-adressen som er lagret i UF2-headeren.