跳转至

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。

返回参数: - 无