单片机程序破解(单片机程序破解bin文件太大)

单片机程序激活成功教程(单片机程序激活成功教程bin文件太大)本文介绍了 MicroPython 如何提供并使用设备上的文件系统 以及如何使用 Python 标准的 I O 方法进行持久存储 MicroPython 会自动创建默认配置并侦测主文件系统 同时支持修改分区 文件系统类型或自定义块设备 文件系统通常由设备上的内部闪存支持 但也可以使用外部闪存 RAM 或自定义块设备 在某些端口 如 STM32 上 文件系统可以通过 USB MSC 连接到 PC 主机

大家好,我是讯享网,很高兴认识大家。



本文介绍了MicroPython如何提供并使用设备上的文件系统,以及如何使用Python标准的I/O方法进行持久存储。MicroPython会自动创建默认配置并侦测主文件系统,同时支持修改分区、文件系统类型或自定义块设备。

文件系统通常由设备上的内部闪存支持,但也可以使用外部闪存、RAM 或自定义块设备。在某些端口(如 STM32)上,文件系统可以通过 USB MSC 连接到PC主机。pyboard.py 工具还为主机访问所有端口上的文件系统提供了一种途径。

注意:这主要用于 STM32 和 ESP32 等裸机端口,在带有操作系统的端口上(如 Unix 端口),文件系统由主机操作系统提供。

MicroPython实现了类似Unix的虚拟文件系统层,所有挂载的文件系统都被整合到一个根路径为的虚拟文件系统。文件系统被挂载到该目录结构,并且在启动时工作目录会被更改到主文件系统的挂载目录。

在上,内置闪存被挂载在,可选的SD卡被挂载在.而的主文件系统则被挂载在。

块设备是实现了协议类的实例。

内置块设备

端口提供内置块设备以访问其主闪存。

开机时,MicroPython 会尝试侦测默认闪存上的文件系统,并自动进行配置并加载,如果找不到文件系统,MicroPython 会尝试为整个闪存创建一个FAT文件系统。端口还可以提供”出厂重置”主闪存的机制,通常是在开机时通过按键组合来实现。

STM32/Pyboard

类可以访问内部闪存,对于某些有大容量外部闪存的板子(如:Pyboard D)则会使用外部闪存,必须要指定参数,如:。

注意:为实现向后兼容性,不带参数的情况下(即 pyb.Flash()),仅实现简单的块接口,并反映 USB MSC 所显示的虚拟设备(即在开始时包含一个虚拟分区表)。

ESP8266

内部闪存以块设备对象的形式呈现,启动时在 模块中创建。默认情况下,该块设备对象被添加为全局变量,通常只需使用 即可访问。它实现了扩展接口。


讯享网

ESP32

类为电路板定义的分区实现了一个块设备。与 ESP8266 类似,有一个指向默认分区的全局变量 。它实现了扩展接口。

自定义块设备

下面的类实现了一个简单的块设备,它使用将数据存储在内存中:

使用举例:

下面举例说明同时支持简单接口和扩展接口(即同时支持 和 方法的签名和行为)的块设备:

由于它支持扩展接口,因此可以与 一起使用:

挂载后,文件系统(无论其类型如何)就可以像在 Python 代码中使用的那样使用了:

MicroPython 移植可以提供 FAT、littlefs v1 和 littlefs v2 的实现。

下表显示了特定端口/板卡组合的固件默认包含哪些文件系统,但在定制固件构建中可以选择启用这些文件系统。

FAT

FAT 文件系统的主要优点是可以通过已支持的电路板(如 STM32)上的 USB MSC 进行访问,无需在主机 PC 上安装任何额外的驱动程序。

不过, 不能容忍写入过程中的断电,这会导致文件系统损坏。对于不需要 USB MSC 的应用程序,建议使用 代替。

使用 FAT 格式化整个闪存:

Littlefs

Littlefs 是专为闪存设备设计的文件系统,对文件系统损坏的抵抗能力更强。

注意:有报告称,littlefs v1 和 v2 在某些情况下会出现故障,详情请参见 littlefs 第 347 期和 littlefs 第 295 期。

使用 littlefs v2 格式化整个闪存:

使用 littlefs FUSE 驱动程序,还可以在电脑上通过 USB MSC 访问 littlefs 文件系统。请注意,必须同时指定 –block_size 和 –block_count 选项才能覆盖默认值。例如(在构建 littlefs-fuse 可执行文件后):

这将允许在 目录下访问主板的 文件系统。要获取 和 的正确值,请使用:

Hybrid (STM32)

通过使用 的 和 参数,可以创建跨闪存设备子集的块设备。

例如,将前 256kiB 配置为 FAT(可通过 USB MSC 使用),其余配置为 littlefs:

这对于通过 USB MSC 提供 Python 文件、配置和其他很少修改的内容可能很有用,但也允许将频繁更改的应用程序数据驻留在 littlefs 上,以更好地应对断电等情况。

偏移量 0 处的分区将自动挂载(文件系统类型也会自动检测),但也可以添加以下内容:

到 boot.py 以挂载数据分区。

Hybrid (ESP32)

在 ESP32 上,如果构建了自定义固件,可以修改 partitions.csv 来定义任意分区布局。

启动时,名为 “vfs “的分区默认挂载在/位置,但也可以使用 boot.py 挂载其他分区:

小讯
上一篇 2025-06-07 14:15
下一篇 2025-05-08 13:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/139345.html