|
WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
|
#include "hal_sfc_v150.h"#include "soc_osal.h"#include "debug_print.h"#include "hal_sfc_v150_regs_op.h"#include "osal_interrupt.h"#include "securec.h"#include "tcxo.h"#include "sfc.h"#include "sfc_porting.h"#include "hal_sfc.h"#include "sfc_protect_gd25q32.h"#include "sfc_protect.h"
结构体 | |
| struct | sfc_protect_cfg_t |
函数 | |
| errcode_t | hal_sfc_regs_wait_ready (uint8_t wip_bit) |
| void | sfc_port_write_sr (bool is_volatile, uint8_t cmd, uint8_t data) |
| 写状态寄存器。 | |
| uint32_t | sfc_port_read_sr (uint32_t cmd) |
| 读取状态寄存器的值。 | |
| uint32_t | sfc_port_write_lock (uint32_t start_addr, uint32_t end_addr) |
| SFC上锁,同时根据地址信息,放开对应区域的擦、写权限。 | |
| void | sfc_port_write_unlock (uint32_t lock_sts) |
| SFC解锁。 | |
| errcode_t | sfc_port_fix_sr (void) |
| 修复状态寄存器。 | |
| #define DISABLE 0x0 |
| #define ENABLE 0x1 |
| #define FLASH_CHIP_PROTECT_128K 0x020000 |
| #define FLASH_CHIP_PROTECT_16K 0x004000 |
| #define FLASH_CHIP_PROTECT_1M 0x100000 |
| #define FLASH_CHIP_PROTECT_256K 0x040000 |
| #define FLASH_CHIP_PROTECT_2M 0x200000 |
| #define FLASH_CHIP_PROTECT_32K 0x008000 |
| #define FLASH_CHIP_PROTECT_3584K 0x380000 |
| #define FLASH_CHIP_PROTECT_3840K 0x3C0000 |
| #define FLASH_CHIP_PROTECT_3968K 0x3E0000 |
| #define FLASH_CHIP_PROTECT_3M 0x300000 |
| #define FLASH_CHIP_PROTECT_4032K 0x3F0000 |
| #define FLASH_CHIP_PROTECT_4064K 0x3F8000 |
| #define FLASH_CHIP_PROTECT_4080K 0x3FC000 |
| #define FLASH_CHIP_PROTECT_4088K 0x3FE000 |
| #define FLASH_CHIP_PROTECT_4092K 0x3FF000 |
| #define FLASH_CHIP_PROTECT_4K 0x001000 |
| #define FLASH_CHIP_PROTECT_512K 0x080000 |
| #define FLASH_CHIP_PROTECT_64K 0x010000 |
| #define FLASH_CHIP_PROTECT_8K 0x002000 |
| #define FLASH_GD25Q32 0x1640C8 |
| #define FLASH_PROTECT_ALL_MASK 0x1C |
| #define FLASH_PROTECT_NONE_MASK 0x00 |
| #define READ_MODE 0x1 |
| #define SFC_PROTECT_CFG_NUMS (sizeof(g_sfc_protect_cfg) / sizeof(g_sfc_protect_cfg[0])) |
| #define SPI_CMD_WREN 0x06 |
| #define SPI_CMD_WRVSR 0x50 |
| #define SR1_BPX_MASK 0x7C |
Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.
Description: Provides sfc port template
History:
2022-11-30, Create file.
| #define SR2_CMP_MASK 0x40 |
| #define STANDARD_SPI 0x0 |
| #define WRITE_MODE 0x0 |
| errcode_t hal_sfc_regs_wait_ready | ( | uint8_t | wip_bit | ) |
| uint32_t sfc_port_read_sr | ( | uint32_t | cmd | ) |
读取状态寄存器的值。
| [in] | cmd | 命令字可以是:05H/35H/15H。 05H: 读 SR1 35H: 读 SR2 15H: 读 SR3 |
| 读取到的SR中的值。 |
| uint32_t sfc_port_write_lock | ( | uint32_t | start_addr, |
| uint32_t | end_addr | ||
| ) |
SFC上锁,同时根据地址信息,放开对应区域的擦、写权限。
| void sfc_port_write_sr | ( | bool | is_volatile, |
| uint8_t | cmd, | ||
| uint8_t | data | ||
| ) |
写状态寄存器。
| [in] | is_volatile | 是否是易失性写入。 True: 易失性写入, 掉电后配置丢失。 False: 非易失性写入, 掉电后配置不丢失。 |
| [in] | cmd | 命令字可以是:01H/31H/11H。 01H: 写 SR1 31H: 写 SR2 11H: 写 SR3 |
| [in] | data | 待写入的SR寄存器的数据。 |
| ERRCODE_SUCC | 成功。 |
| Other | 失败,参考 errcode_t 。 |
| void sfc_port_write_unlock | ( | uint32_t | lock_sts | ) |
SFC解锁。