Wat is het UF2-bestandsformaat?
UF2 staat voor USB Flashing Format, een bestandsformaat dat Microsoft in 2017 creëerde voor zijn MakeCode (PXT) platform. Het is ontworpen om microcontrollers te flashen via USB Mass Storage: het board verschijnt als een gewone verwisselbare schijf, en je kopieert firmware ernaar zoals elk ander bestand. De specificatie is open en door Microsoft gepubliceerd onder een MIT-licentie.
Een .uf2-bestand is een platte reeks blokken van 512 bytes. Elk blok is zelfvoorzienend - het bevat een header van 32 bytes met magic numbers, het doel-flashadres, de payload-lengte, de index en het totale aantal blokken, en een family ID die de doelchip identificeert, gevolgd door maximaal 476 bytes aan firmware en een afsluitend magic number. Dit ontwerp lost een reëel probleem op: een besturingssysteem kan de blokken van een gekopieerd bestand in willekeurige volgorde schrijven, dus door elk blok onafhankelijk te maken, kan de bootloader van het board gegevens flashen op het moment dat ze aankomen, zonder ooit een onvolledig bestand te zien.
De meeste mensen komen UF2 tegen bij het programmeren van een hobby- of educatief board. De Raspberry Pi Pico (RP2040), BBC micro:bit en veel Adafruit-, Arduino- en Seeed-boards accepteren UF2, en dit is hoe CircuitPython- en MakeCode-projecten worden geïnstalleerd. Meestal verkrijg je een .uf2 door deze te exporteren vanuit een editor zoals MakeCode of door een vooraf gebouwde firmware voor je specifieke board te downloaden. Gerelateerde firmwareformaten die je kunt tegenkomen zijn ruwe .BIN-images en Intel .HEX-bestanden.
Beveiliging & veiligheid
RISICO: 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.
Formaatdetails
in een notendopProgramma's die UF2-bestanden openen
.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. Technische details
diepe specificaties| 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. |
| Uitgebracht | 2017 (Microsoft MakeCode / PXT) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | github.com |
UF2 conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over UF2-bestanden.
Veelgestelde vragen
Hoe open ik een UF2-bestand?
.uf2-bestand naar die schijf. Het board flasht het en start opnieuw op.Hoe zet ik een Raspberry Pi Pico in bootloader-modus?
.uf2 ernaartoe en het board herstart met de nieuwe firmware.Kan ik een UF2-bestand converteren naar BIN?
uf2conv.py extraheert het ruwe binaire bestand met uf2conv.py file.uf2 -c -o file.bin. Houd het flashadres bij dat in de UF2-header is opgeslagen.