- FLASH
- 接口列表
- 接口详情
- hal_logic_partition_t *hal_flash_get_info(hal_partition_t in_partition)
- int32_t hal_flash_erase(hal_partition_t in_partition, uint32_t off_set, uint32_t size)
- int32_t hal_flash_write(hal_partition_t in_partition, uint32_t off_set, const void in_buf, uint32_t in_buf_len)
- int32_t hal_flash_erase_write(hal_partition_t in_partition, uint32_t off_set, const void in_buf, uint32_t in_buf_len)
- int32_t hal_flash_read(hal_partition_t in_partition, uint32_t off_set, void out_buf, uint32_t in_buf_len)
- int32_t hal_flash_enable_secure(hal_partition_t partition, uint32_t off_set, uint32_t size)
- int32_t hal_flash_dis_secure(hal_partition_t partition, uint32_t off_set, uint32_t size)
- int32_t hal_flash_addr2offset(hal_partition_t in_partition, uint32_t off_set, uint32_t addr)
- 相关宏定义
- 相关结数据结构
-
FLASH
更新时间:2019-01-31 12:11:16
接口列表
接口详情
描述 |
获取指定区域的FLASH信息 |
参数 |
in_partition:FLASH分区 |
返回值 |
成功则返回分区信息,否则返回NULL |
int32_t hal_flash_erase(hal_partition_t in_partition, uint32_t off_set, uint32_t size)
描述 |
擦除FLASH的指定区域 |
参数 |
in_partition:FLASH分区 |
|
off_set:偏移量 |
|
size:要擦除的字节数 |
返回值 |
返回成功或失败, 返回0表示擦除成功,非0表示失败 |
int32_t hal_flash_write(hal_partition_t in_partition, uint32_t off_set, const void in_buf, uint32_t in_buf_len)
描述 |
写FLASH的指定区域 |
参数 |
in_partition:FLASH分区 |
|
off_set:偏移量 |
|
in_buf:指向要写入数据的指针 |
|
in_buf_len:要写入的字节数 |
返回值 |
返回成功或失败, 返回0表示写入成功,非0表示失败 |
int32_t hal_flash_erase_write(hal_partition_t in_partition, uint32_t off_set, const void in_buf, uint32_t in_buf_len)
描述 |
先擦除再写FLASH的指定区域 |
参数 |
in_partition:FLASH分区 |
|
off_set:偏移量 |
|
in_buf:指向要写入数据的指针 |
|
in_buf_len:要写入的字节数 |
返回值 |
返回成功或失败, 返回0表示TIMER参数改变成功,非0表示失败 |
int32_t hal_flash_read(hal_partition_t in_partition, uint32_t off_set, void out_buf, uint32_t in_buf_len)
描述 |
关闭指定TIMER |
参数 |
in_partition:FLASH分区 |
|
off_set:偏移量 |
|
out_buf:数据缓冲区地址 |
|
in_buf_len:要写入的字节数 |
返回值 |
返回成功或失败, 返回0表示TIMER关闭成功,非0表示失败 |
int32_t hal_flash_enable_secure(hal_partition_t partition, uint32_t off_set, uint32_t size)
描述 |
使能加密FLASH的指定区域 |
参数 |
partition:FLASH分区 |
|
off_set:偏移量 |
|
size:使能区域字节数 |
返回值 |
返回成功或失败, 返回0表示使能成功,非0表示失败 |
int32_t hal_flash_dis_secure(hal_partition_t partition, uint32_t off_set, uint32_t size)
描述 |
关闭加密FLASH的指定区域 |
参数 |
partition:FLASH分区 |
|
off_set:偏移量 |
|
size:使能区域字节数 |
返回值 |
返回成功或失败, 返回0表示关闭成功,非0表示失败 |
int32_t hal_flash_addr2offset(hal_partition_t in_partition, uint32_t off_set, uint32_t addr)
描述 |
将物理地址转换为分区号和偏移 |
参数 |
in_partition:FLASH分区 |
|
off_set:偏移量 |
|
addr:要转换的物理地址 |
返回值 |
返回成功或失败, 返回0表示转换成功,非0表示失败 |
相关宏定义
#define PAR_OPT_READ_POS ( 0 )
#define PAR_OPT_WRITE_POS ( 1 )
#define PAR_OPT_READ_MASK ( 0x1u << PAR_OPT_READ_POS )
#define PAR_OPT_WRITE_MASK ( 0x1u << PAR_OPT_WRITE_POS )
#define PAR_OPT_READ_DIS ( 0x0u << PAR_OPT_READ_POS )
#define PAR_OPT_READ_EN ( 0x1u << PAR_OPT_READ_POS )
#define PAR_OPT_WRITE_DIS ( 0x0u << PAR_OPT_WRITE_POS )
#define PAR_OPT_WRITE_EN ( 0x1u << PAR_OPT_WRITE_POS )
相关结数据结构
hal_logic_partition_t
typedef struct {
hal_flash_t partition_owner;
const char *partition_description;
uint32_t partition_start_addr;
uint32_t partition_length;
uint32_t partition_options;
} hal_logic_partition_t;
hal_flash_t
typedef enum {
HAL_FLASH_EMBEDDED,
HAL_FLASH_SPI,
HAL_FLASH_QSPI,
HAL_FLASH_MAX,
HAL_FLASH_NONE,
} hal_flash_t;
hal_partition_t
typedef enum {
HAL_PARTITION_ERROR = -1,
HAL_PARTITION_BOOTLOADER,
HAL_PARTITION_APPLICATION,
HAL_PARTITION_ATE,
HAL_PARTITION_OTA_TEMP,
HAL_PARTITION_RF_FIRMWARE,
HAL_PARTITION_PARAMETER_1,
HAL_PARTITION_PARAMETER_2,
HAL_PARTITION_PARAMETER_3,
HAL_PARTITION_PARAMETER_4,
HAL_PARTITION_BT_FIRMWARE,
HAL_PARTITION_SPIFFS,
HAL_PARTITION_CUSTOM_1,
HAL_PARTITION_CUSTOM_2,
HAL_PARTITION_RECOVERY,
HAL_PARTITION_RECOVERY_BACK_PARA,
HAL_PARTITION_MAX,
HAL_PARTITION_NONE,
} hal_partition_t;