esp32 微蟒 littlefs

esp32 micropython littlefs

使用 Expressif 开发板和标准 micropython.bin 我能够创建一个 littlefs2 分区,挂载它并将数据写入文件:

 # ESP8266 and ESP32
import os
os.umount('/')
os.VfsLfs2.mkfs(bdev)
os.mount(bdev, '/'))

with open("myfile.txt", "a") as f:
  f.write("myData")

完成此操作后,os.listdir() 将显示 myfile.txt 文件,但我无法再在 ESP 上更新我的代码。
我假设我需要先摆脱 littlefs2 文件系统,但找不到相关示例。
我发现更改代码的唯一方法是擦除所有闪存,加载 micropython.bin 的新副本,然后将我的代码模块再次闪存到芯片上——每次更改都是一个漫长的过程在我的代码中?
有什么 shorter/faster 方法可以在 ESP 上更新我的代码文件?

A - 变胖

如果使用 vfsFat 重新格式化足够接近 'getting rid of',您可以执行以下操作:

import os
os.umount('/')
os.VfsFat.mkfs(bdev)
os.mount(bdev, '/')

import _boot

这应该 re-format flash as fat,并且 re-init 使用 post_flash _boot 模块

B- 使用 IDE 编写代码 for/to MCU

假设您还有一个串行端口(或 telnet)连接到您的 MCU,另一种方法是使用 IDE(VSCode + Pymakr works for sure, or likely Thonny 也可以)连接到您的 MCU。 Pymakr 会很乐意从您使用的任何文件系统上传/下载文件,只要文件不是太大

C - 使用 cmdline 工具从您的 MCU 下载文件

有一些工具可以做到这一点

  • rshell 优点:可以下载完整的文件夹,但在 windows
  • 上可能有同样的问题
  • pyboard.py 简单用于单个文件 up/download 不适用于更复杂的操作。不要使用 PyPi 的旧版本
  • mpremote 具有更多功能的最新工具,不支持旧固件版本。