Hvad er UF2-filformatet?
UF2 står for USB Flashing Format, et filformat Microsoft skabte i 2017 til sin MakeCode (PXT) platform. Det er bygget til at flashe mikrocontrollere via USB Mass Storage: boardet vises som et almindeligt flytbart drev, og du kopierer firmware til det som enhver anden fil. Specifikationen er åben og udgivet af Microsoft under en MIT-licens.
En .uf2-fil er en flad sekvens af 512-byte blokke. Hver blok er selvstændig - den indeholder en 32-byte header med «magic numbers», destinations-flash-adressen, payload-længden, blokkens indeks og samlede antal, samt et family ID, der identificerer mål-chippen, efterfulgt af op til 476 byte firmware og et afsluttende «magic number». Dette design løser et reelt problem: et operativsystem kan skrive blokkene i en kopieret fil i vilkårlig rækkefølge, så ved at gøre hver blok uafhængig kan boardets bootloader flashe data i det øjeblik, de ankommer, uden nogensinde at se en ufuldstændig fil.
De fleste møder UF2, når de programmerer et hobby- eller uddannelses-board. Raspberry Pi Pico (RP2040), BBC micro:bit og mange Adafruit-, Arduino- og Seeed-boards accepterer UF2, og det er sådan CircuitPython- og MakeCode-projekter bliver installeret. Du får normalt en .uf2 ved at eksportere den fra en editor som MakeCode eller ved at downloade en prækonfigureret firmware til netop dit board. Relaterede firmwareformater, du kan støde på, inkluderer rå .BIN-images og Intel .HEX-filer.
Sikkerhed og tryghed
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
kort fortaltProgrammer der åbner 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
dyb specifikation| 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. |
| Udgivet | 2017 (Microsoft MakeCode / PXT) |
| Åben standard | Ja · royaltyfri |
| Specifikation | github.com |
UF2-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om UF2-filer.
Ofte stillede spørgsmål
Hvordan åbner jeg en UF2-fil?
.uf2-filen over på drevet. Boardet flasher den og genstarter.Hvordan sætter jeg en Raspberry Pi Pico i bootloader-tilstand?
.uf2-filen over på det, og boardet genstarter med den nye firmware.Kan jeg konvertere en UF2-fil til BIN?
uf2conv.py udtrækker den rå binære fil med uf2conv.py file.uf2 -c -o file.bin. Hold styr på den flash-adresse, der er gemt i UF2-headeren.