iot_flash.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #ifndef __IOT_FLASH_H__
  2. #define __IOT_FLASH_H__
  3. #include "iot_os.h"
  4. /**
  5. * @defgroup iot_sdk_flash flash接口
  6. * @{
  7. */
  8. /**@example flash/demo_flash.c
  9. * flash接口示例
  10. */
  11. /**获取flash可用的地址空间,返回的地址用来传入iot_flash_erase、iot_flash_write、iot_flash_read等接口。
  12. *@param addrout: 返回可用flash地址
  13. *@param lenout: 返回可用flash长度,单位为字节
  14. *@return E_AMOPENAT_MEMD_ERR: 成功:OPENAT_MEMD_ERR_NO, 其余失败
  15. *@note 该接口返回的地址是64KB对齐 返回的地址空间根据当前程序大小来确定。
  16. **/
  17. VOID iot_flash_getaddr(
  18. UINT32* addrout,
  19. UINT32* lenout
  20. );
  21. /**flash擦
  22. *@param startAddr: 擦写地址 64K对齐
  23. *@param endAddr: 擦写结束地址
  24. *@return E_AMOPENAT_MEMD_ERR: 成功:OPENAT_MEMD_ERR_NO, 其余失败
  25. **/
  26. E_AMOPENAT_MEMD_ERR iot_flash_erase(
  27. UINT32 startAddr,
  28. UINT32 endAddr
  29. );
  30. /**flash写
  31. *@param startAddr: 写地址
  32. *@param size: 写数据大小
  33. *@param writenSize: 写数据类型大小
  34. *@param buf: 写数据指针
  35. *@return E_AMOPENAT_MEMD_ERR: 成功:OPENAT_MEMD_ERR_NO, 其余失败
  36. **/
  37. E_AMOPENAT_MEMD_ERR iot_flash_write(
  38. UINT32 startAddr,
  39. UINT32 size,
  40. UINT32* writenSize,
  41. CONST UINT8* buf
  42. );
  43. /**flash读
  44. *@param startAddr: 读地址
  45. *@param size: 读数据大小
  46. *@param readSize: 读数据类型大小
  47. *@param buf: 读数据指针
  48. *@return E_AMOPENAT_MEMD_ERR: 成功:OPENAT_MEMD_ERR_NO, 其余失败
  49. **/
  50. E_AMOPENAT_MEMD_ERR iot_flash_read(
  51. UINT32 startAddr,
  52. UINT32 size,
  53. UINT32* readSize,
  54. UINT8* buf
  55. );
  56. /** @}*/
  57. #endif