跳到主要内容

tkl_flash | Flash 驱动

tkl_flash.c 文件是由 TuyaOS v&v 工具自动生成的,提供了针对 Flash 存储的基本操作功能,包括读取、写入、擦除 Flash、获取 Flash 信息等。在自动生成的代码框架中,开发者可以在 "BEGIN" 与 "END" 注释之间添加自己的实现来保持用户代码的持久化。

API 说明

tkl_flash_read

OPERATE_RET tkl_flash_read(uint32_t addr, uint8_t *dst, uint32_t size);

功能

从Flash中读取数据。

参数

  • addr: 要读取的 Flash 地址。
  • dst: 存储读取数据的缓冲区指针。
  • size: 要读取的数据大小。

返回值

  • OPRT_OK: 读取成功。
  • 其他错误码: 请参见 tuya_error_code.h

tkl_flash_write

OPERATE_RET tkl_flash_write(uint32_t addr, const uint8_t *src, uint32_t size);

功能

向Flash写入数据。

参数

  • addr: 要写入的 Flash 地址。
  • src: 包含要写入数据的缓冲区指针。
  • size: 要写入的数据大小。

返回值

  • OPRT_OK: 写入成功。
  • 其他错误码: 请参见 tuya_error_code.h

tkl_flash_erase

OPERATE_RET tkl_flash_erase(uint32_t addr, uint32_t size);

功能

擦除 Flash 中的数据。

参数

  • addr: 要擦除的 Flash 地址。
  • size: 要擦除的 Flash 块大小。

返回值

  • OPRT_OK: 擦除成功。
  • 其他错误码: 请参见 tuya_error_code.h

tkl_flash_lock/unlock

OPERATE_RET tkl_flash_lock(uint32_t addr, uint32_t size);
OPERATE_RET tkl_flash_unlock(uint32_t addr, uint32_t size);

功能

锁定或解锁 Flash 的一块区域。这些函数当前实现为未支持操作。

参数

  • addr: 开始锁定或解锁的 Flash 地址。
  • size: 锁定或解锁区域的大小。

返回值

  • OPRT_OK: 锁定或解锁成功。
  • 其他错误码: 请参见 tuya_error_code.h

tkl_flash_get_one_type_info

OPERATE_RET tkl_flash_get_one_type_info(TUYA_FLASH_TYPE_E type, TUYA_FLASH_BASE_INFO_T* info);

功能

获取指定Flash类型的信息。

参数

  • type: 要查询信息的 Flash 类型。
  • info: 存储 Flash 信息的结构体指针,一般是某个存储类型在 Flash 里的布局。

返回值

  • OPRT_OK: 成功获取信息。
  • 其他错误码: 请参见 tuya_error_code.h

注意事项

  • TUYA_FLASH_TYPE_E 是 Flash 类型的枚举。
  • TUYA_FLASH_BASE_INFO_T 是 Flash 信息的结构体。