103 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			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 */
 |