Initial import of NFC GNSS SDK project
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
/*================================================================
|
||||
Copyright (c) 2021, Quectel Wireless Solutions Co., Ltd. All rights reserved.
|
||||
Quectel Wireless Solutions Proprietary and Confidential.
|
||||
=================================================================*/
|
||||
#ifndef _QUEC_FLASHRW_H_
|
||||
#define _QUEC_FLASHRW_H_
|
||||
|
||||
#define FLASH_RW_ERROR 1
|
||||
|
||||
|
||||
/*****************************************************************
|
||||
* Function: CHECK_FLASH_AREA_ADDR_CONFIG
|
||||
*
|
||||
* Description:
|
||||
* 初始化被保护分区的分区信息
|
||||
*
|
||||
* Parameters:
|
||||
* void
|
||||
*
|
||||
* Return:
|
||||
* 0:初始化成功
|
||||
*
|
||||
*
|
||||
*****************************************************************/
|
||||
UINT32 CHECK_FLASH_AREA_ADDR_CONFIG(void);
|
||||
|
||||
//检查指定的Flash地址和大小是否可以被擦除
|
||||
//flash_addr:要擦除Flash地址
|
||||
//flash_size:擦除的大小
|
||||
//rw_flag:是否记录此次擦除,0,不记录;1,记录
|
||||
UINT32 FLASH_LIMIT_ALLOW_AREA(UINT32 flash_addr,UINT32 flash_size,BOOL rw_flag);
|
||||
//记录flash_addr所在分区的第几个block,被擦除的次数
|
||||
UINT32 Flash_erase_count_Set(UINT32 flash_addr,UINT32 size);
|
||||
|
||||
int quec_erase_block(int blk_index, unsigned int disable_protect);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_norflash_get_addr
|
||||
*
|
||||
* Description:
|
||||
* Get partition address
|
||||
*
|
||||
* Parameters:
|
||||
* patition_name [in] partition name
|
||||
* start_addr [out] partition addr
|
||||
* src [out] partition size
|
||||
*
|
||||
* Return:
|
||||
* NULL
|
||||
*
|
||||
*
|
||||
*****************************************************************/
|
||||
void quec_norflash_get_addr(unsigned char *patition_name, unsigned int *start_addr, unsigned int *size);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_norflash_do_read
|
||||
*
|
||||
* Description:
|
||||
* Read a section of a partition
|
||||
*
|
||||
* Parameters:
|
||||
* patition_name [in] partition name
|
||||
* start_addr [in] The address from which data is to be read
|
||||
* buf_addr [out] Read the data storage address
|
||||
* size [in] Read the data size
|
||||
* Return:
|
||||
* 0:sucess; 1:fail
|
||||
*
|
||||
*
|
||||
*****************************************************************/
|
||||
unsigned int quec_norflash_do_read(unsigned char *patition_name, unsigned int addr, unsigned int buf_addr, unsigned int size);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_norflash_do_write
|
||||
*
|
||||
* Description:
|
||||
* write a section of a partition
|
||||
*
|
||||
* Parameters:
|
||||
* patition_name [in] partition name
|
||||
* start_addr [in] The address from which data is to be write
|
||||
* buf_addr [in] write the data address
|
||||
* size [in] write the data size
|
||||
* Return:
|
||||
* 0:sucess; 1:fail
|
||||
*
|
||||
*
|
||||
*****************************************************************/
|
||||
unsigned int quec_norflash_do_write(unsigned char *patition_name, unsigned int addr, unsigned int buf_addr, unsigned int size);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_norflash_do_erase
|
||||
*
|
||||
* Description:
|
||||
* erase a section of a partition
|
||||
*
|
||||
* Parameters:
|
||||
* patition_name [in] partition name
|
||||
* start_addr [in] The address from which data is to be erase
|
||||
* size [in] write the data size
|
||||
*
|
||||
* Return:
|
||||
* NULL
|
||||
*
|
||||
*
|
||||
*****************************************************************/
|
||||
int quec_norflash_do_erase(unsigned char *patition_name, unsigned int addr, unsigned int size);
|
||||
|
||||
/*****************************************************************
|
||||
* Function: ql_norflash_read_id
|
||||
*
|
||||
* Description:
|
||||
* get flash id
|
||||
*
|
||||
* Parameters:
|
||||
* NULL
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return:
|
||||
* NULL
|
||||
*
|
||||
*
|
||||
*****************************************************************/
|
||||
int quec_norflash_read_id(void);
|
||||
UINT32 get_quec_cfg_start_address(void);
|
||||
|
||||
|
||||
#ifdef QUEC_NORFLASH_ERASE_OPTIMIZE
|
||||
#define CHIP_SECTOR_SIZE 0x1000 //erase 4k each times
|
||||
#define CHIP_BLOCK_SIZE 0x10000 //erase 4k each times
|
||||
typedef enum
|
||||
{
|
||||
Record_type_Block,
|
||||
Record_type_Page
|
||||
}quec_Record_type_enum;
|
||||
int quec_repair_erase_get_parti_name_valid(char* parti_name);
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user