2019-09-06 07:12:36 -04:00
|
|
|
|
存储 API
|
|
|
|
|
***********
|
|
|
|
|
|
|
|
|
|
:link_to_translation:`en:[English]`
|
|
|
|
|
|
2023-10-13 15:55:41 -04:00
|
|
|
|
本节提供高层次的存储 API 的参考文档。这些 API 基于如 SPI flash、SD/MMC 等低层次驱动。
|
2022-11-23 03:48:17 -05:00
|
|
|
|
|
2023-10-13 15:55:41 -04:00
|
|
|
|
- :doc:`分区表 API <partition>` 基于 :doc:`/api-guides/partition-tables` ,允许以块为单位访问 SPI flash。
|
|
|
|
|
- :doc:`非易失性存储库 (NVS) <nvs_flash>` 在 SPI NOR flash 上实现了一个有容错性,和磨损均衡功能的键值对存储。
|
2023-09-13 22:37:29 -04:00
|
|
|
|
- :doc:`虚拟文件系统 (VFS) <vfs>` 库提供了一个用于注册文件系统驱动的接口。SPIFFS、FAT 以及多种其他的文件系统库都基于 VFS。
|
2023-10-13 15:55:41 -04:00
|
|
|
|
- :doc:`SPIFFS <spiffs>` 是一个专为 SPI NOR flash 优化的磨损均衡的文件系统,非常适用于小分区和低吞吐率的应用。
|
|
|
|
|
- :doc:`FAT <fatfs>` 是一个可用于 SPI flash 或者 SD/MMC 存储卡的标准文件系统。
|
|
|
|
|
- :doc:`磨损均衡 <wear-levelling>` 库实现了一个适用于 SPI NOR flash 的 flash 翻译层 (FTL),用于 flash 中 FAT 分区的容器。
|
2022-11-23 03:48:17 -05:00
|
|
|
|
|
2024-07-09 07:30:08 -04:00
|
|
|
|
与存储安全相关的信息,请参考 :doc:` 存储安全 <storage-security>`。
|
|
|
|
|
|
2022-11-23 03:48:17 -05:00
|
|
|
|
.. note::
|
2023-07-18 05:16:41 -04:00
|
|
|
|
|
2023-10-13 15:55:41 -04:00
|
|
|
|
建议使用高层次的 API(``esp_partition`` 或者文件系统)而非低层次驱动 API 去访问 SPI NOR flash。
|
2022-11-23 03:48:17 -05:00
|
|
|
|
|
2023-10-13 15:55:41 -04:00
|
|
|
|
由于 NOR flash 和乐鑫硬件的一些限制,访问主 flash 会影响各个系统的性能。关于这些限制的更多信息,参见 :doc:`/api-reference/peripherals/spi_flash/index`。
|
2023-01-29 06:29:58 -05:00
|
|
|
|
|
2019-09-06 07:12:36 -04:00
|
|
|
|
.. toctree::
|
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
2021-12-30 05:50:55 -05:00
|
|
|
|
fatfs
|
2024-05-07 17:54:05 -04:00
|
|
|
|
fatfsgen
|
2021-12-30 05:50:55 -05:00
|
|
|
|
mass_mfg.rst
|
|
|
|
|
nvs_flash
|
2023-04-18 08:39:38 -04:00
|
|
|
|
nvs_encryption
|
2021-12-30 05:50:55 -05:00
|
|
|
|
nvs_partition_gen.rst
|
2022-04-14 06:08:26 -04:00
|
|
|
|
nvs_partition_parse.rst
|
2021-12-30 05:50:55 -05:00
|
|
|
|
sdmmc
|
2022-11-23 03:48:17 -05:00
|
|
|
|
partition
|
2021-12-30 05:50:55 -05:00
|
|
|
|
spiffs
|
|
|
|
|
vfs
|
|
|
|
|
wear-levelling
|
2023-12-06 11:25:58 -05:00
|
|
|
|
storage-security.rst
|
2021-09-03 04:06:02 -04:00
|
|
|
|
|
2024-07-09 07:30:08 -04:00
|
|
|
|
.. list-table:: 存储 API 相关例程
|
|
|
|
|
:widths: 25 75
|
|
|
|
|
:header-rows: 0
|
|
|
|
|
|
|
|
|
|
* - **例程**
|
|
|
|
|
- **描述**
|
|
|
|
|
* - :doc:`fatfs`
|
|
|
|
|
-
|
|
|
|
|
* - :example:`wear_leveling <storage/wear_levelling>`
|
|
|
|
|
- 演示了如何在内部 flash 上使用 FATFS 磨损均衡。
|
|
|
|
|
* - :example:`ext_flash_fatfs <storage/ext_flash_fatfs>`
|
|
|
|
|
- 演示了如何在外部 flash 上使用 FATFS 磨损均衡。
|
|
|
|
|
* - :example:`fatfsgen <storage/fatfsgen>`
|
|
|
|
|
- 演示了在主机计算机上使用 Python 工具生成 FATFS 镜像的功能。
|
|
|
|
|
* - :doc:`nvs_flash`
|
|
|
|
|
-
|
|
|
|
|
* - :example:`nvs_rw_blob <storage/nvs_rw_blob>`
|
|
|
|
|
- 演示了如何在 NVS flash 中使用 C 语言 API 读写 blob 数据类型。
|
|
|
|
|
* - :example:`nvs_rw_value <storage/nvs_rw_value>`
|
|
|
|
|
- 演示了如何在 NVS flash 中使用 C 语言 API 读写整数数据类型。
|
|
|
|
|
* - :example:`nvs_rw_value_cxx <storage/nvs_rw_value_cxx>`
|
|
|
|
|
- 演示了如何在 NVS flash 中使用 C++ 语言 API 读写整数数据类型。
|
|
|
|
|
* - :example:`nvsgen <storage/nvsgen>`
|
|
|
|
|
- 演示了如何使用基于 Python 的 NVS 镜像生成工具,根据 CSV 文件内容创建 NVS 分区镜像。
|
|
|
|
|
* - :doc:`spiffs`
|
|
|
|
|
-
|
|
|
|
|
* - :example:`spiffs <storage/spiffs>`
|
|
|
|
|
- 演示了如何使用 SPIFFS API 初始化文件系统,并使用 POSIX 函数处理文件。
|
|
|
|
|
* - :example:`spiffsgen <storage/spiffsgen>`
|
|
|
|
|
- 演示了在主机计算机上使用 Python 工具生成 SPIFFS 镜像的功能。
|
|
|
|
|
* - :doc:`partition`
|
|
|
|
|
-
|
|
|
|
|
* - :example:`partition_api <storage/partition_api>`
|
|
|
|
|
- 介绍了用于查找特定分区、执行基本 I/O 操作以及通过 CPU 内存映射使用分区的 API 函数。
|
|
|
|
|
* - :example:`parttool <storage/parttool>`
|
|
|
|
|
- 演示了在主机计算机上使用 Python 工具生成分区镜像的功能。
|
|
|
|
|
* - :doc:`vfs`
|
|
|
|
|
-
|
|
|
|
|
* - :example:`littlefs <storage/littlefs>`
|
|
|
|
|
- 演示了如何使用 LittleFS 组件初始化文件系统,并使用 POSIX 函数处理文件。
|
|
|
|
|
* - :example:`semihost_vfs <storage/semihost_vfs>`
|
|
|
|
|
- 演示了如何使用 VFS API,利用 POSIX 函数使 ESP 设备访问通过 JTAG 连接的主机上的文件。
|