该 dualbank
模块增加了在两个应用程序分区之间更新和切换的能力。
有两个相同的分区,它们包含不同的固件版本。有两个分区可以启用回滚功能。
这两个分区被定义为引导分区和下次更新分区。调用dualbank.flash()
写入下一个更新分区。
写入下一个更新分区后,将执行验证检查,并在成功验证后将此分区设置为引导分区。下次重置时,将从该分区加载固件。
以下是要遵循的命令序列:
import dualbank
dualbank.flash(buffer, offset)
dualbank.switch()
在这些板上可用
- ATMegaZero ESP32-S2
- Adafruit FunHouse
- Adafruit MagTag
- Adafruit Metro ESP32S2
- Artisense Reference Design RD00
- BastWiFi
- CrumpS2
- ESP 12k NodeMCU
- Feather ESP32S2 without PSRAM
- FeatherS2
- FeatherS2 Neo
- FeatherS2 PreRelease
- Franzininho WIFI w/Wroom
- Franzininho WIFI w/Wrover
- Gravitech Cucumber M
- Gravitech Cucumber MS
- Gravitech Cucumber R
- Gravitech Cucumber RS
- HMI-DevKit-1.1
- Kaluga 1
- LILYGO TTGO T8 ESP32-S2 w/Display
- MORPHEANS MorphESP-240
- Oak Dev Tech PixelWing ESP32S2
- S2Mini
- Saola 1 w/Wroom
- Saola 1 w/Wrover
- Targett Module Clip w/Wroom
- Targett Module Clip w/Wrover
- TinyS2
- microS2
- nanoESP32-S2 w/Wrover
- nanoESP32-S2 w/Wroom
-
dualbank.
flash
(*buffer: _typing.ReadableBuffer, offset: int = 0) → None
在给定的偏移量处写入两个应用程序分区之一。
当以小块刷新固件时,可以多次调用此方法。
-
dualbank.
switch
() → None
切换引导分区。
下次重置时,固件将从刚刚切换到的分区加载。