Che cos'è il formato di file UF2?
UF2 sta per USB Flashing Format, un formato di file creato da Microsoft nel 2017 per la sua piattaforma MakeCode (PXT). È progettato per aggiornare i microcontrollori tramite USB Mass Storage: la scheda appare come una normale unità rimovibile e il firmware viene copiato su di essa come qualsiasi altro file. La specifica è aperta e pubblicata da Microsoft sotto licenza MIT.
Un file .uf2 è una sequenza piatta di blocchi da 512 byte. Ogni blocco è autonomo: contiene un'intestazione di 32 byte con numeri magici, l'indirizzo flash di destinazione, la lunghezza del payload, l'indice del blocco e il conteggio totale, e un ID famiglia che identifica il chip di destinazione, seguiti da un massimo di 476 byte di firmware e un numero magico finale. Questo design risolve un problema reale: un sistema operativo può scrivere i blocchi di un file copiato in qualsiasi ordine, quindi rendere ogni blocco indipendente consente al bootloader della scheda di scrivere i dati nel momento in cui arrivano, senza mai vedere un file parziale.
La maggior parte delle persone incontra l'UF2 quando programma una scheda hobbistica o educativa. Il Raspberry Pi Pico (RP2040), il BBC micro:bit e molte schede Adafruit, Arduino e Seeed accettano l'UF2, ed è così che vengono installati i progetti CircuitPython e MakeCode. Di solito si ottiene un .uf2 esportandolo da un editor come MakeCode o scaricando un firmware precompilato per la propria scheda specifica. Altri formati di firmware correlati che potresti incontrare includono le immagini grezze .BIN e i file Intel .HEX.
Sicurezza e incolumità
RISCHIO: 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.
Dettagli del formato
in sintesiProgrammi che aprono file UF2
.uf2 file onto that drive. .uf2. 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. Dettagli tecnici
specifiche approfondite| 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. |
| Rilasciato | 2017 (Microsoft MakeCode / PXT) |
| Standard aperto | Sì · royalty-free |
| Specifica | github.com |
Conversioni UF2
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file UF2.
Domande frequenti
Come si apre un file UF2?
.uf2 su quell'unità. La scheda lo scrive e si riavvia.Come metto un Raspberry Pi Pico in modalità bootloader?
.uf2 su di essa e la scheda si riavvierà eseguendo il nuovo firmware.Posso convertire un file UF2 in BIN?
uf2conv.py di Microsoft estrae il binario grezzo con uf2conv.py file.uf2 -c -o file.bin. Tieni traccia dell'indirizzo flash memorizzato nell'intestazione UF2.