Flash外设库函数
1. void Flash_setClkDiv(u32 div);
函数说明: 设置Flash时钟分频值 (Flash_clock = SYSCLK / 实际分频值
)。实际分频值
与 div
的关系如下:
- 实际分频值 = 2; 如果 div = [0, 1, 2]
- 实际分频值 = int(Ceiling(div/2.0)) * 2; 如果 div = [3, 65535]
参数说明:
输入参数: -
div
: Flash时钟分频值, 16位有效。返回参数: - 无
2. void Flash_enableQspiMode();
函数说明: 启用Flash QSPI模式。
参数说明:
输入参数: - 无。
返回参数: - 无
3. void Flash_disableQspiMode();
函数说明: 禁用Flash QSPI模式。
参数说明:
输入参数: - 无。
返回参数: - 无
4. vu32 Flash_readWord(u32 addr);
函数说明: 从Flash读取一个32位字。
参数说明:
输入参数: -
addr
: Flash内存地址,32位对齐。返回参数: - 从Flash中读取的数据。
5. void Flash_writeWord(u32 addr, vu32 val);
函数说明: 向Flash写入一个32位字。
参数说明:
输入参数: -
addr
: Flash内存地址,32位对齐。 -val
: 要写入的数据。返回参数: - 无
6. void Flash_initModule(u32 div, u32 qspi_en);
函数说明: 初始化Flash模块。
参数说明:
输入参数: -
div
: Flash时钟分频值, 16位有效。 -qspi_en
: 是否启用Flash QSPI模式。取值范围 -0
: 不启用Flash QSPI模式。 -非0
: 启用Flash QSPI模式。返回参数: - 无
7. void Flash_eraseChip(void);
函数说明: 擦除Flash的所有数据区。
参数说明:
输入参数: - 无
返回参数: - 无
8. void Flash_eraseSector(u32 addr);
函数说明: 擦除指定的Flash 4KB扇区。
参数说明:
输入参数: -
addr
: 要擦除的Flash扇区,[0,255]。返回参数: - 无
9. void Flash_eraseBlock(vu32 block_num);
函数说明: 擦除指定的Flash 64KB块。
参数说明:
输入参数: -
sector_num
: 要擦除的Flash块,[0,15]。返回参数: - 无
10. void Flash_eraseOTP(vu32 otp_num);
函数说明: 擦除Flash OTP区。
参数说明:
输入参数: -
otp_num
: 要擦除的Flash OTP区。取值范围 -0
: 擦除Flash OTP的前1KB。 -1
: 擦除Flash OTP的后1KB。返回参数: - 无