Files
kunlun/export/inc/sg_lib/iot_sg_flash_api.h
2024-09-28 14:24:04 +08:00

103 lines
3.3 KiB
C

/****************************************************************************
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
be copied by any method or incorporated into another program without
the express written consent of Aerospace C.Power. This Information or any portion
thereof remains the property of Aerospace C.Power. The Information contained herein
is believed to be accurate and Aerospace C.Power assumes no responsibility or
liability for its use in any way and conveys no license or title under
any patent or copyright and makes no representation or warranty that this
Information is free from patent or copyright infringement.
****************************************************************************/
#ifndef IOT_SG_FLASH_API_H
#define IOT_SG_FLASH_API_H
/* os shim includes */
#include "os_types_api.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief iot_sg_flash_init - sg flash space init.
* @retval: size - flash space size.
*/
uint32_t iot_sg_flash_init(void);
/**
* @brief iot_sg_flash_size_query - query flash space size. unit is
* 1 byte.
* @retval: size - flash space size.
*/
uint32_t iot_sg_flash_size_query(void);
/**
* @brief iot_sg_flash_erase_once_query - query flash erase once size, unit is
* 1 byte.
* retval: size - flash erase once size
* retval: 0 - query failed
*/
uint32_t iot_sg_flash_erase_once_query(void);
/**
* @brief iot_sg_flash_write - write data into customer flash area.
* @param write_offset: write data offset.
* @param write_len: length of write data.
* @param p_write_buf: the pointer to write data.
* @retval: ERR_OK - for success case.
* @retval: otherwise - error code.
*/
uint32_t iot_sg_flash_write(uint32_t write_offset,
uint32_t write_len, uint8_t *p_write_buf);
/**
* @brief iot_sg_flash_read - read data from customer flash area.
* @param read_offset: read data offset.
* @param read_len: length of read data.
* @param p_read_buf: the pointer to read data cache.
* @retval: ERR_OK - for success case.
* @retval: otherwise - error code.
*/
uint32_t iot_sg_flash_read(uint32_t read_offset,
uint32_t read_len, uint8_t *p_read_buf);
/**
* @brief iot_sg_flash_erase - erase data from customer flash area.
* @param erase_offset: erase data offset.
* @param erase_len: length of erase data.
* @retval: ERR_OK - for success case.
* @retval: otherwise - error code.
*/
uint32_t iot_sg_flash_erase(uint32_t erase_offset, uint32_t erase_len);
/**
* @brief iot_sg_flash_write_without_erase - write data into customer flash area
* without erase.
* @param write_offset: write data offset.
* @param write_len: length of write data.
* @param p_write_buf: the pointer to write data.
* @retval: ERR_OK - for success case.
* @retval: otherwise - error code.
*/
uint32_t iot_sg_flash_write_without_erase(uint32_t write_offset,
uint32_t write_len, uint8_t *p_write_buf);
/**
* @brief iot_sg_flash_type_is_internal_check - check flash type is
* internal or external.
* @retval: ERR_OK - flash type is internal.
* @retval: otherwise - flash type is external.
*/
uint32_t iot_sg_flash_type_is_internal_check(void);
#ifdef __cplusplus
}
#endif
#endif /* IOT_SG_FLASH_API_H */