Что такое формат файла UF2?
UF2 расшифровывается как USB Flashing Format - это формат файлов, созданный Microsoft в 2017 году для платформы MakeCode (PXT). Он разработан для прошивки микроконтроллеров через USB Mass Storage: плата определяется как обычный съемный диск, и вы копируете на нее прошивку как любой другой файл. Спецификация является открытой и опубликована Microsoft под лицензией MIT.
Файл .uf2 представляет собой плоскую последовательность 512-байтовых блоков. Каждый блок самодостаточен - он содержит 32-байтовый заголовок с магическими числами, целевой адрес прошивки, длину полезной нагрузки, индекс и общее количество блоков, а также family ID, идентифицирующий целевой чип, за которыми следуют до 476 байт прошивки и конечное магическое число. Такая конструкция решает важную проблему: операционная система может записывать блоки копируемого файла в любом порядке, поэтому независимость каждого блока позволяет загрузчику платы прошивать данные в момент их поступления, не дожидаясь получения файла целиком.
Большинство пользователей сталкиваются с UF2 при программировании любительских или образовательных плат. Raspberry Pi Pico (RP2040), BBC micro:bit и многие платы Adafruit, Arduino и Seeed принимают UF2; именно так устанавливаются проекты CircuitPython и MakeCode. Обычно вы получаете .uf2, экспортируя его из редактора, такого как MakeCode, или скачивая готовую прошивку для вашей конкретной платы. Связанные форматы прошивок, которые могут вам встретиться, включают необработанные образы .BIN и файлы Intel .HEX.
Безопасность и защита
РИСК: 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.
Детали формата
в двух словахПрограммы, открывающие файлы 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. Технические подробности
глубокая спецификация| 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. |
| Выпущен | 2017 (Microsoft MakeCode / PXT) |
| Открыть стандартное | Да · без роялти |
| Спецификация | github.com |
Конвертации UF2
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах UF2.
Часто задаваемые вопросы
Как мне открыть файл UF2?
.uf2 на этот диск. Плата прошьет его и перезагрузится.Как перевести Raspberry Pi Pico в режим загрузчика?
.uf2, и плата перезагрузится с новой прошивкой.Можно ли конвертировать файл UF2 в BIN?
uf2conv.py извлекает необработанный бинарный файл командой uf2conv.py file.uf2 -c -o file.bin. Следите за адресом прошивки, хранящимся в заголовке UF2.