ESP LV FS
esp_lv_fs 允许 LVGL 使用文件系统来访问资源。该组件依赖 esp_mmap_assets,以高效管理文件操作,并支持多个分区。
功能
基于 esp_mmap_assets 用于文件系统创建。
支持标准文件操作:fopen, fclose, fread, ftell, fseek。
使用 esp_partition_read API 实现高效文件访问。
支持多个分区。
依赖
依赖组件 esp_mmap_assets 。 它提供文件偏移索引关系。
应用示例
注册文件系统
在 LVGL 启动后注册文件系统。
#include "esp_lv_fs.h"
#include "esp_mmap_assets.h"
esp_lv_fs_handle_t fs_drive_a_handle;
mmap_assets_handle_t mmap_drive_a_handle;
const mmap_assets_config_t asset_cfg = {
.partition_label = "assets_A",
.max_files = MMAP_DRIVE_A_FILES,
.checksum = MMAP_DRIVE_A_CHECKSUM,
.flags = {
.mmap_enable = true,
}
};
mmap_assets_new(&asset_cfg, &mmap_drive_a_handle);
const fs_cfg_t fs_drive_a_cfg = {
.fs_letter = 'A',
.fs_assets = mmap_drive_a_handle,
.fs_nums = MMAP_DRIVE_A_FILES
};
esp_lv_fs_desc_init(&fs_drive_a_cfg, &fs_drive_a_handle);
API 参考
Header File
Functions
-
esp_err_t esp_lv_fs_desc_init(const fs_cfg_t *cfg, esp_lv_fs_handle_t *ret_handle)
Initialize file descriptors for the filesystem.
This function sets up the filesystem by initializing file descriptors based on the provided configuration. It allocates necessary memory and populates the file descriptors with information about the assets.
- 参数
cfg – [in] Pointer to the filesystem configuration structure.
ret_handle – [out] Pointer to the handle that will hold the initialized filesystem instance.
- 返回
ESP_OK: Success
ESP_ERR_INVALID_ARG: Invalid argument
ESP_ERR_NO_MEM: Memory allocation failed
-
esp_err_t esp_lv_fs_desc_deinit(esp_lv_fs_handle_t handle)
Deinitialize the filesystem and clean up resources.
This function cleans up the filesystem by freeing allocated memory for file descriptors and other resources associated with the provided handle.
- 参数
handle – [in] Handle to the filesystem instance to be deinitialized.
- 返回
ESP_OK: Success
ESP_ERR_INVALID_ARG: Invalid argument
Structures
-
struct fs_cfg_t
Configuration structure for the filesystem.
Public Members
-
char fs_letter
Filesystem letter identifier
-
int fs_nums
Number of filesystem instances
-
mmap_assets_handle_t fs_assets
Handle to memory-mapped assets
-
char fs_letter
Type Definitions
-
typedef void *esp_lv_fs_handle_t
Filesystem handle type definition.