WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
SFC

结构体

struct  sfc_flash_config
 SFC初始化参数。 更多...
 

宏定义

#define NULL_FLASH   0
 

类型定义

typedef enum sfc_read_if sfc_read_if_t
 读操作使用的SPI接口类型。
 
typedef enum sfc_write_if sfc_write_if_t
 写操作使用的SPI接口类型。
 
typedef enum sfc_flash_op sfc_flash_op_t
 Flash寄存器操作类型。
 
typedef struct sfc_flash_config sfc_flash_config_t
 SFC初始化参数。
 

枚举

enum  sfc_read_if {
  STANDARD_READ = 0x0 , FAST_READ = 0x1 , FAST_READ_DUAL_OUTPUT = 0x2 , FAST_READ_DUAL_IO = 0x3 ,
  FAST_READ_QUAD_OUTPUT = 0x4 , FAST_READ_QUAD_IO = 0x5
}
 读操作使用的SPI接口类型。 更多...
 
enum  sfc_write_if {
  WRITE_DISABLE = 0x0 , PAGE_PROGRAM = 0x1 , DUAL_INPUT_PAGE_PROGRAM = 0x2 , DUAL_IO_PAGE_PROGRAM = 0x3 ,
  QUAD_INPUT_PAGE_PROGRAM = 0x4 , QUAD_IO_PAGE_PROGRAM = 0x5
}
 写操作使用的SPI接口类型。 更多...
 
enum  sfc_flash_op { READ_TYPE = 0x0 , WRITE_TYPE = 0x1 }
 Flash寄存器操作类型。 更多...
 

函数

errcode_t uapi_sfc_init (sfc_flash_config_t *config)
 初始化并配置SFC,未识别的Flash默认采用单线读写512KB的配置。
 
errcode_t uapi_sfc_init_rom (sfc_flash_config_t *config)
 初始化并配置SFC。rom 默认采用单线读写512KB的配置。
 
void uapi_sfc_deinit (void)
 去初始化SFC。
 
errcode_t uapi_sfc_reg_read (uint32_t flash_addr, uint8_t *read_buffer, uint32_t read_size)
 提供寄存器模式读功能,读取的数据将按字节存入read_buffer中。不允许在中断中调用。
 
errcode_t uapi_sfc_reg_write (uint32_t flash_addr, uint8_t *write_data, uint32_t write_size)
 提供寄存器模式写功能,预计写入的数据按字节存入write_data中。不允许在中断中调用。
 
errcode_t uapi_sfc_reg_erase (uint32_t flash_addr, uint32_t erase_size)
 使用寄存器模式进行对Flash的擦除,不使能写回时强制要求地址和大小按扇区对齐。不允许在中断中调用。
 
errcode_t uapi_sfc_reg_erase_chip (void)
 使用寄存器模式对整片Flash进行擦除。不允许在中断中调用。
 
errcode_t uapi_sfc_reg_other_flash_opt (sfc_flash_op_t cmd_type, uint8_t cmd, uint8_t *buffer, uint32_t length)
 使用寄存器模式对Flash属性进行读写。不允许在中断中调用。
 
errcode_t uapi_sfc_dma_read (uint32_t flash_addr, uint8_t *read_buffer, uint32_t read_size)
 提供DMA模式读功能,读取的数据将按字节存入read_buffer中。不允许在中断中调用。
 
errcode_t uapi_sfc_dma_write (uint32_t flash_addr, uint8_t *write_buffer, uint32_t write_size)
 提供寄存器模式写功能,预计写入的数据按字节存入write_data中。不允许在中断中调用。
 

详细描述

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.

Description: Provides SFC driver api
History:
2022-11-29, Create file.

宏定义说明

◆ NULL_FLASH

#define NULL_FLASH   0

类型定义说明

◆ sfc_flash_config_t

SFC初始化参数。

◆ sfc_flash_op_t

Flash寄存器操作类型。

◆ sfc_read_if_t

typedef enum sfc_read_if sfc_read_if_t

读操作使用的SPI接口类型。

◆ sfc_write_if_t

写操作使用的SPI接口类型。

枚举类型说明

◆ sfc_flash_op

Flash寄存器操作类型。

枚举值
READ_TYPE 

读取Flash相关信息。

WRITE_TYPE 

配置Flash状态。

◆ sfc_read_if

读操作使用的SPI接口类型。

枚举值
STANDARD_READ 

以标准SPI模式执行读操作(指令一般为0x03)。

FAST_READ 

以标准SPI模式执行快速读操作(指令一般为0x0B)。

FAST_READ_DUAL_OUTPUT 

以双线Out SPI模式执行读操作(指令一般为0x3B)。

FAST_READ_DUAL_IO 

以双线In/Out SPI模式执行读操作(指令一般为0xBB)。

FAST_READ_QUAD_OUTPUT 

以四线Out SPI模式执行读操作(指令一般为0x6B)。

FAST_READ_QUAD_IO 

以四线In/Out SPI模式执行读操作(指令一般为0xEB)。

◆ sfc_write_if

写操作使用的SPI接口类型。

枚举值
WRITE_DISABLE 

写操作禁止。

PAGE_PROGRAM 

以标准SPI模式执行写操作。

DUAL_INPUT_PAGE_PROGRAM 

以双线In SPI模式执行写操作。

DUAL_IO_PAGE_PROGRAM 

以双线I/O SPI模式执行写操作。

QUAD_INPUT_PAGE_PROGRAM 

以四线In SPI模式执行写操作。

QUAD_IO_PAGE_PROGRAM 

以四线In SPI模式执行写操作。

函数说明

◆ uapi_sfc_deinit()

void uapi_sfc_deinit ( void  )

去初始化SFC。

◆ uapi_sfc_dma_read()

errcode_t uapi_sfc_dma_read ( uint32_t  flash_addr,
uint8_t *  read_buffer,
uint32_t  read_size 
)

提供DMA模式读功能,读取的数据将按字节存入read_buffer中。不允许在中断中调用。

◆ uapi_sfc_dma_write()

errcode_t uapi_sfc_dma_write ( uint32_t  flash_addr,
uint8_t *  write_buffer,
uint32_t  write_size 
)

提供寄存器模式写功能,预计写入的数据按字节存入write_data中。不允许在中断中调用。

◆ uapi_sfc_init()

errcode_t uapi_sfc_init ( sfc_flash_config_t config)

初始化并配置SFC,未识别的Flash默认采用单线读写512KB的配置。

◆ uapi_sfc_init_rom()

errcode_t uapi_sfc_init_rom ( sfc_flash_config_t config)

初始化并配置SFC。rom 默认采用单线读写512KB的配置。

◆ uapi_sfc_reg_erase()

errcode_t uapi_sfc_reg_erase ( uint32_t  flash_addr,
uint32_t  erase_size 
)

使用寄存器模式进行对Flash的擦除,不使能写回时强制要求地址和大小按扇区对齐。不允许在中断中调用。

◆ uapi_sfc_reg_erase_chip()

errcode_t uapi_sfc_reg_erase_chip ( void  )

使用寄存器模式对整片Flash进行擦除。不允许在中断中调用。

◆ uapi_sfc_reg_other_flash_opt()

errcode_t uapi_sfc_reg_other_flash_opt ( sfc_flash_op_t  cmd_type,
uint8_t  cmd,
uint8_t *  buffer,
uint32_t  length 
)

使用寄存器模式对Flash属性进行读写。不允许在中断中调用。

◆ uapi_sfc_reg_read()

errcode_t uapi_sfc_reg_read ( uint32_t  flash_addr,
uint8_t *  read_buffer,
uint32_t  read_size 
)

提供寄存器模式读功能,读取的数据将按字节存入read_buffer中。不允许在中断中调用。

◆ uapi_sfc_reg_write()

errcode_t uapi_sfc_reg_write ( uint32_t  flash_addr,
uint8_t *  write_data,
uint32_t  write_size 
)

提供寄存器模式写功能,预计写入的数据按字节存入write_data中。不允许在中断中调用。