luat_flash.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef LUAT_flash_H
  2. #define LUAT_flash_H
  3. #include "luat_base.h"
  4. /**
  5. * @defgroup luatos_flash 片上Flash操作
  6. * @{
  7. */
  8. /**
  9. * @brief 读取指定区域的Flash数据
  10. *
  11. * @param buff[OUT] 读出的数据
  12. * @param addr 偏移量, 与具体设备相关
  13. * @param len 读取长度
  14. * @return int <= 0错误 >0实际读取的大小
  15. */
  16. int luat_flash_read(char* buff, size_t addr, size_t len);
  17. /**
  18. * @brief 写入指定区域的flash数据
  19. *
  20. * @param buff[IN] 写入的数据
  21. * @param addr 偏移量, 与具体设备相关
  22. * @param len 写入长度
  23. * @return int <= 0错误 >0实际写入的大小
  24. */
  25. int luat_flash_write(char* buff, size_t addr, size_t len);
  26. /**
  27. * @brief 抹除指定区域的flash数据
  28. *
  29. * @param addr 偏移量, 与具体设备相关
  30. * @param len 抹除长度,通常为区域大小, 例如4096
  31. * @return int != 0错误 =0 正常
  32. */
  33. int luat_flash_erase(size_t addr, size_t len);
  34. /**
  35. * @brief 获取kv起始地址与长度
  36. * @param len kv大小, 与具体设备相关
  37. * @return size_t = 0错误 !=0 正常
  38. */
  39. size_t luat_flash_get_fskv_addr(size_t *len);
  40. /**
  41. * @}
  42. */
  43. #endif