类 FlashArea – 访问内置闪存

使用Zephyr flash map API

此类允许访问设备闪存分区数据。闪存区域结构由全局唯一 ID 号、分区所在闪存设备的名称、起始偏移量(表示与每个分区的闪存起始地址相关)以及设备代表的分区大小组成。对于固定闪存分区,使用设备树中的数据;但是,由于未启用 MCUBoot,MicroPython 中不强制执行固定闪存分区。

构造函数

class zephyr.FlashArea(id, block_size)

获取一个对象,用于访问由 指定的分区中的闪存id块大小为 block_size.

id 值是与设备树中定义的固定闪存分区相关的整数。一个常用的分区是指定的闪存存储区域,定义为FlashArea.STORAGE if FLASH_AREA_LABEL_EXISTS(storage)在启动时 返回 true。西风的DeviceTree固定闪光灯分区boot_partition, slot0_partition, slot1_partition,和 scratch_partition。由于 MicroPython 默认未启用 MCUBoot,因此可以分别通过 ID 整数值 1、2、3 和 4 访问这些固定分区。

方法

FlashArea.readblocks(block_num, buf)
FlashArea.readblocks(block_num, buf, offset)
FlashArea.writeblocks(block_num, buf)
FlashArea.writeblocks(block_num, buf, offset)
FlashArea.ioctl(cmd, arg)

这些方法实现了定义 的简单和扩展 块协议 uos.AbstractBlockDev