xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_fal(Flash 抽象层)

FAL (Flash Abstraction Layer) 接口 更多...

结构体

struct  xt_fal_flash_ops
struct  xt_fal_flash
struct  xt_fal_partition

宏定义

#define XT_FAL_INVALID_ID   (0xFF)
#define XT_FAL_GET_FLASH_ID(fal_id)
#define XT_FAL_GET_PARTITION_IDX(fal_id)
#define XT_FAL_MAKE_ID(flash_id, part_idx)
#define XT_FAL_CTRL_INIT   (0x00000001)
#define XT_FAL_CTRL_DEINIT   (0x00000002)
#define XT_FAL_MAX_FLASH_COUNT   16
#define XT_FAL_NAME_MAX   16

类型定义

typedef uint32_t xt_fal_size_t

函数

uint8_t xt_fal_register (const struct xt_fal_flash *flash, const struct xt_fal_partition *part_table, uint32_t part_count)
 注册 Flash 设备和分区表
xt_err_t xt_fal_unregister (uint8_t flash_id, const struct xt_fal_flash **out_flash, const struct xt_fal_partition **out_part_table, uint32_t *out_part_count)
 反注册 Flash 设备
xt_err_t xt_fal_init (void)
 初始化所有已注册的 Flash 设备
xt_err_t xt_fal_deinit (void)
 反初始化所有 Flash 设备
uint8_t xt_fal_get_flash_id_by_name (const char *flash_name)
 通过名称获取 flash_id
uint8_t xt_fal_get_id_by_name (const char *part_name)
 通过分区名称获取 fal_id
const struct xt_fal_partition * xt_fal_get_partition_by_id (uint8_t fal_id)
 通过 fal_id 获取分区指针
const struct xt_fal_flash * xt_fal_get_flash_by_id (uint8_t fal_id)
 通过 fal_id 获取 Flash 设备指针
int32_t xt_fal_partition_read (uint8_t fal_id, xt_fal_size_t offset, void *dst, xt_fal_size_t size)
 读取分区数据
int32_t xt_fal_partition_write (uint8_t fal_id, xt_fal_size_t offset, const void *src, xt_fal_size_t size)
 写入分区数据
int32_t xt_fal_partition_erase (uint8_t fal_id, xt_fal_size_t offset, xt_fal_size_t size)
 擦除分区

详细描述

FAL (Flash Abstraction Layer) 接口

宏定义说明

◆ XT_FAL_CTRL_DEINIT

#define XT_FAL_CTRL_DEINIT   (0x00000002)

反初始化

在文件 xt_fal.h 第 43 行定义.

◆ XT_FAL_CTRL_INIT

#define XT_FAL_CTRL_INIT   (0x00000001)

初始化

在文件 xt_fal.h 第 42 行定义.

◆ XT_FAL_GET_FLASH_ID

#define XT_FAL_GET_FLASH_ID ( fal_id)
值:
(((fal_id) >> 4) & 0x0F)

在文件 xt_fal.h 第 37 行定义.

◆ XT_FAL_GET_PARTITION_IDX

#define XT_FAL_GET_PARTITION_IDX ( fal_id)
值:
((fal_id) & 0x0F)

在文件 xt_fal.h 第 38 行定义.

◆ XT_FAL_INVALID_ID

#define XT_FAL_INVALID_ID   (0xFF)

在文件 xt_fal.h 第 34 行定义.

◆ XT_FAL_MAKE_ID

#define XT_FAL_MAKE_ID ( flash_id,
part_idx )
值:
(((flash_id) << 4) | ((part_idx) & 0x0F))

在文件 xt_fal.h 第 39 行定义.

◆ XT_FAL_MAX_FLASH_COUNT

#define XT_FAL_MAX_FLASH_COUNT   16

在文件 xt_fal.h 第 47 行定义.

◆ XT_FAL_NAME_MAX

#define XT_FAL_NAME_MAX   16

在文件 xt_fal.h 第 52 行定义.

类型定义说明

◆ xt_fal_size_t

typedef uint32_t xt_fal_size_t

在文件 xt_fal.h 第 58 行定义.

函数说明

◆ xt_fal_deinit()

xt_err_t xt_fal_deinit ( void )

反初始化所有 Flash 设备

返回
XT_EOK 成功,其他失败

◆ xt_fal_get_flash_by_id()

const struct xt_fal_flash * xt_fal_get_flash_by_id ( uint8_t fal_id)

通过 fal_id 获取 Flash 设备指针

参数
fal_id分区 ID
返回
Flash 设备指针,未找到返回 NULL

◆ xt_fal_get_flash_id_by_name()

uint8_t xt_fal_get_flash_id_by_name ( const char * flash_name)

通过名称获取 flash_id

参数
flash_nameFlash 设备名称
返回
flash_id,未找到返回 XT_FAL_INVALID_ID

◆ xt_fal_get_id_by_name()

uint8_t xt_fal_get_id_by_name ( const char * part_name)

通过分区名称获取 fal_id

参数
part_name分区名称
返回
fal_id,未找到返回 XT_FAL_INVALID_ID

◆ xt_fal_get_partition_by_id()

const struct xt_fal_partition * xt_fal_get_partition_by_id ( uint8_t fal_id)

通过 fal_id 获取分区指针

参数
fal_id分区 ID
返回
分区指针,未找到返回 NULL

◆ xt_fal_init()

xt_err_t xt_fal_init ( void )

初始化所有已注册的 Flash 设备

返回
XT_EOK 成功,其他失败

◆ xt_fal_partition_erase()

int32_t xt_fal_partition_erase ( uint8_t fal_id,
xt_fal_size_t offset,
xt_fal_size_t size )

擦除分区

参数
fal_id分区 ID
offset分区内偏移
size擦除大小
返回
XT_EOK 成功,其他失败

◆ xt_fal_partition_read()

int32_t xt_fal_partition_read ( uint8_t fal_id,
xt_fal_size_t offset,
void * dst,
xt_fal_size_t size )

读取分区数据

参数
fal_id分区 ID
offset分区内偏移
dst目标缓冲区
size读取大小
返回
成功返回读取字节数,失败返回负值

◆ xt_fal_partition_write()

int32_t xt_fal_partition_write ( uint8_t fal_id,
xt_fal_size_t offset,
const void * src,
xt_fal_size_t size )

写入分区数据

参数
fal_id分区 ID
offset分区内偏移
src源数据
size写入大小
返回
成功返回写入字节数,失败返回负值

◆ xt_fal_register()

uint8_t xt_fal_register ( const struct xt_fal_flash * flash,
const struct xt_fal_partition * part_table,
uint32_t part_count )

注册 Flash 设备和分区表

参数
flashFlash 设备指针
part_table分区表指针(可为 NULL)
part_count分区数量
返回
成功返回 flash_id (0-15),失败返回 XT_FAL_INVALID_ID
注解
flash_id 由 FAL 自动分配

◆ xt_fal_unregister()

xt_err_t xt_fal_unregister ( uint8_t flash_id,
const struct xt_fal_flash ** out_flash,
const struct xt_fal_partition ** out_part_table,
uint32_t * out_part_count )

反注册 Flash 设备

参数
flash_id要反注册的 flash_id
out_flash输出 Flash 设备指针(可为 NULL)
out_part_table输出分区表指针(可为 NULL)
out_part_count输出分区数量(可为 NULL)
返回
XT_EOK 成功,其他失败