admin管理员组

文章数量:1794759

UF2文件格式

UF2文件格式

UF2是一种新的二进制文件格式,由Microsoft为PXT (也称为Microsoft MakeCode)开发,可以通过MSC(Mass Storage Class,也称为可移动闪存驱动器)方式更新程序。与DAPlink类似,UF2也提供了CDC串行接口,可以方便的和主机通信与调试程序。

总览

UF2文件包含512个字节的块,每个块都是独立的,并且彼此独立。每个512字节块包括(请参阅下面的详细信):

  • 开头和结尾的魔术数字
  • 数据应刷新的地址
  • 多达476个字节的数据

通过MSC传输的数据始终以512字节的倍数到达。再加上FAT文件系统结构,这意味着UF2文件的块始终与MSC写入对齐-微控制器从不获取部分文件。

魔术数字使微控制器将UF2文件块与其他数据(例如FAT表条目或某些操作系统存储的各种簿记文件)区分开。识别出UF2块后,可以立即对其进行刷新(除非闪存页面大小大于256字节;在这种情况下,需要一个缓冲区)。写入过程中文件格式的实际处理非常简单(最简单的版本中约10行C代码)。

文件格式

UF2文件由512字节块组成。每个块以32字节头开始,后跟数据和最终幻数。除数据外,所有字段都是32位无符号小端整数。

位置尺寸值
04第一个标志,0x0A324655(“UF2\\n”)
44第二个标志, 0x9E5D5157
84标志
124闪存中应写入数据的地址
164数据中使用的字节数(通常为256)
204顺序块号; 从0开始
244文件中的块总数
284文件大小或电路板系列ID或零
32476数据,用零填充
5084结束, 0x0AB16F30

硬件平台

目前UF2可以支持下面硬件: Microchip ATSAMD21 and ATSAMD51 Arduino UNO STM32F103 STM32F4 Nordic NRF52840 Linux (RPi Zero) Cypress FX2

关于UF2的一些参考:

makecode/blog/one-chip-to-flash-them-all github/Microsoft/uf2

本文标签: 文件格式