WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_sfc.h
浏览该文件的文档.
1
9#ifndef HAL_SFC_H
10#define HAL_SFC_H
11
12#include <stdint.h>
13#include <stdbool.h>
14#include <common_def.h>
15#include <errcode.h>
16#include <sfc_porting.h>
17
18#ifdef __cplusplus
19#if __cplusplus
20extern "C" {
21#endif /* __cplusplus */
22#endif /* __cplusplus */
23
30#if defined(CONFIG_SFC_SUPPORT_RWE_INDEPENDENT) && CONFIG_SFC_SUPPORT_RWE_INDEPENDENT == 1
31#define SFC_SECTION __attribute__((section(".FLSLOADERRAMCODE")))
32#else
33#define SFC_SECTION
34#endif
35
49errcode_t hal_sfc_get_flash_id(uint32_t *flash_id);
50
68errcode_t hal_sfc_init(flash_spi_ctrl_t *spi_ctrl, uint32_t mapping, uint32_t flash_size);
69
77void hal_sfc_deinit(void);
78
98errcode_t hal_sfc_reg_read(uint32_t flash_addr, uint8_t *read_buffer, uint32_t read_size,
99 spi_opreation_t read_opreation);
100
120errcode_t hal_sfc_reg_write(uint32_t flash_addr, uint8_t *write_data, uint32_t write_size,
121 spi_opreation_t write_opreation);
122
140errcode_t hal_sfc_reg_erase(uint32_t flash_addr, spi_opreation_t erase_opreation, bool delete_chip);
141
161typedef errcode_t (*hal_sfc_reg_flash_opreation_t)(uint32_t opt_type, uint8_t cmd, uint8_t *buffer, uint32_t length);
162
182errcode_t hal_sfc_reg_flash_opreations(uint32_t opt_type, uint8_t cmd, uint8_t *buffer, uint32_t length);
183
184#if defined(CONFIG_SFC_SUPPORT_DMA)
185
203errcode_t hal_sfc_dma_read(uint32_t flash_addr, uint8_t *read_buffer, uint32_t read_size);
204
222errcode_t hal_sfc_dma_write(uint32_t flash_addr, uint8_t *write_data, uint32_t write_size);
223#endif /* CONFIG_SFC_SUPPORT_DMA */
224
225#if defined(CONFIG_SFC_SUPPORT_LPM)
237errcode_t hal_sfc_suspend(void);
238
252errcode_t hal_sfc_resume(flash_cmd_execute_t *quad_mode);
253#endif
254
267
275void hal_sfc_regs_deinit(void);
276
292errcode_t hal_sfc_lock_protect(uint32_t flash_id, uint8_t region);
293
308
313#ifdef __cplusplus
314#if __cplusplus
315}
316#endif /* __cplusplus */
317#endif /* __cplusplus */
318
319#endif
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
errcode_t(* hal_sfc_reg_flash_opreation_t)(uint32_t opt_type, uint8_t cmd, uint8_t *buffer, uint32_t length)
SFC 内嵌SPI模式Flash其他操作。
Definition hal_sfc.h:161
errcode_t hal_sfc_reg_erase(uint32_t flash_addr, spi_opreation_t erase_opreation, bool delete_chip)
SFC 内嵌SPI模式擦除操作。
Definition hal_sfc_v150.c:369
errcode_t hal_sfc_reg_flash_opreations(uint32_t opt_type, uint8_t cmd, uint8_t *buffer, uint32_t length)
SFC 内嵌SPI模式Flash其他操作。
Definition hal_sfc_v150.c:469
void hal_sfc_deinit(void)
SFC 去初始化操作。
Definition hal_sfc_v150.c:243
errcode_t hal_sfc_unlock_protect(uint32_t flash_id)
失能SFC写保护。
errcode_t hal_sfc_reg_read(uint32_t flash_addr, uint8_t *read_buffer, uint32_t read_size, spi_opreation_t read_opreation)
SFC 内嵌SPI模式读操作。
Definition hal_sfc_v150.c:279
void hal_sfc_regs_deinit(void)
清除由 hal_sfc_regs_init 设置的基地址
Definition hal_sfc.c:34
errcode_t hal_sfc_lock_protect(uint32_t flash_id, uint8_t region)
使能或失能SFC写保护。
errcode_t hal_sfc_init(flash_spi_ctrl_t *spi_ctrl, uint32_t mapping, uint32_t flash_size)
SFC 初始化操作。
Definition hal_sfc_v150.c:221
errcode_t hal_sfc_reg_write(uint32_t flash_addr, uint8_t *write_data, uint32_t write_size, spi_opreation_t write_opreation)
SFC 内嵌SPI模式写操作。
Definition hal_sfc_v150.c:332
errcode_t hal_sfc_regs_init(void)
设置SFC寄存器的基地址
Definition hal_sfc.c:18
errcode_t hal_sfc_dma_read(uint32_t flash_addr, uint8_t *read_buffer, uint32_t read_size)
SFC dma模式读操作
Definition hal_sfc_v150.c:149
errcode_t hal_sfc_dma_write(uint32_t flash_addr, uint8_t *write_data, uint32_t write_size)
SFC dma模式读操作。
Definition hal_sfc_v150.c:171
errcode_t hal_sfc_get_flash_id(uint32_t *flash_id)
获取Flash ID操作
Definition sfc_porting.c:143
开启Flash的Quad SPI的指令格式
Definition flash_config_info.h:86
Flash的基本信息和操作信息
Definition sfc_porting.h:37
SPI读写擦操作相关参数
Definition flash_config_info.h:54