Flash ========== 概述 ------ Flash 闪存(Flash Memory)是一类非易失性存储器 NVM(Non-Volatile Memory),即使在供电电源关闭后仍能保持片内信息。 功能特性 ----------- - Flash 模块支持常规镜像的烧录以及用户数据的保存。 - Flash 模块支持程序 XIP,当然,也需要相关 cache 的支持,本文档仅描述 flash 相关操作。 - 芯片包含两个 sfc 控制器,即分别控制两片 flash,用户在实际操作前,请先确认待操作的 sfc port。 用法流程 ------------- - 初始化 :cpp:func:`wq_flash_init` - 读操作 :cpp:func:`wq_flash_read` .. code-block:: c :linenos: /** 从 sfc_port 口对应的 flash,flash 内部地址为 addr 处,读取数据量为 count 字节的数据到 buf 缓存*/ wq_flash_read(sfc_port,addr,buf,count); - 写操作 :cpp:func:`wq_flash_write` .. code-block:: c :linenos: /** 往 sfc_port 口对应的 flash,flash 内部地址为 addr 处写数据,待写的数据缓存为 buf,待写的数据量为 count 字节*/ wq_flash_write(sfc_port,addr,buf,count); - 擦除 :cpp:func:`wq_flash_erase` .. code-block:: c :linenos: /** 将 sfc_port 口对应的 flash,flash 内部地址为 addr 所在的 secor 擦除,擦除大小为一个 sector(4K Byte),擦除后对应区域全为 0xFF*/ wq_flash_erase(sfc_port,addr); - 注销 :cpp:func:`wq_flash_deinit` .. code-block:: c :linenos: /** deinit sfc_port 口对应的 flash */ wq_flash_deinit(sfc_port); API 介绍 ----------- .. doxygenfile:: wq_flash.h