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的一些参考:

https://makecode.com/blog/one-chip-to-flash-them-all
https://github.com/Microsoft/uf2

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值