Co to jest format pliku UF2?
UF2 to skrót od USB Flashing Format, formatu plików stworzonego przez Microsoft w 2017 roku dla platformy MakeCode (PXT). Został on zbudowany do programowania mikrokontrolerów poprzez pamięć masową USB: płytka pojawia się jako zwykły napęd wymienny, a oprogramowanie układowe kopiuje się na nią jak każdy inny plik. Specyfikacja jest otwarta i opublikowana przez Microsoft na licencji MIT.
Plik .uf2 to płaska sekwencja 512-bajtowych bloków. Każdy blok jest samowystarczalny - zawiera 32-bajtowy nagłówek z magicznymi liczbami, docelowy adres pamięci flash, długość danych, indeks bloku i ich całkowitą liczbę oraz identyfikator rodziny (family ID), który rozpoznaje docelowy układ, a następnie do 476 bajtów oprogramowania i końcową magiczną liczbę. Taka konstrukcja rozwiązuje istotny problem: system operacyjny może zapisywać bloki kopiowanego pliku w dowolnej kolejności, więc uczynienie każdego bloku niezależnym pozwala bootloaderowi płytki programować dane w momencie ich nadejścia, bez konieczności oczekiwania na kompletny plik.
Większość osób styka się z UF2 podczas programowania płytek hobbystycznych lub edukacyjnych. Raspberry Pi Pico (RP2040), BBC micro:bit oraz wiele płytek Adafruit, Arduino i Seeed akceptuje UF2; w ten sposób instalowane są projekty CircuitPython i MakeCode. Zazwyczaj plik .uf2 uzyskuje się poprzez eksport z edytora, takiego jak MakeCode, lub pobierając gotowe oprogramowanie dla konkretnej płytki. Powiązane formaty oprogramowania układowego, które można spotkać, to surowe obrazy .BIN oraz pliki Intel .HEX.
Bezpieczeństwo
RYZYKO: 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.
Szczegóły formatu
w pigułceProgramy otwierające pliki UF2
.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. Szczegóły techniczne
specyfikacja| 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. |
| Wydano | 2017 (Microsoft MakeCode / PXT) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | github.com |
Konwersje UF2
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki UF2.
Najczęściej zadawane pytania
Jak otworzyć plik UF2?
.uf2 na ten napęd. Płytka go zaprogramuje i uruchomi się ponownie.Jak wprowadzić Raspberry Pi Pico w tryb bootloadera?
.uf2, a płytka zrestartuje się, uruchamiając nowe oprogramowanie.Czy mogę przekonwertować plik UF2 na BIN?
uf2conv.py wyodrębnia surowy plik binarny poleceniem uf2conv.py file.uf2 -c -o file.bin. Należy pamiętać o adresie flash zapisanym w nagłówku UF2.