dualbank – DUALBANK 模块

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

切换引导分区。

下次重置时,固件将从刚刚切换到的分区加载。