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 */
 |