Extern Flash ================ 概述 -------- 外接 Flash ,控制器对 Flash 进行读写通信操作。(现目前只支持 spi 接口) 调用 :cpp:func:`extern_flash_init` 时, 如果外接的 Flash 不支持 JEDEC JESD216 标准和基本参数表,程序会在 extern_flash_nsup_sfdp.h 文件的 EXTERN_FLASH_CHIP_TABLE 表中查找 flash 芯片信息。 如果 EXTERN_FLASH_CHIP_TABLE 表中没有此 FLASH 信息,用户可以自己根据 externs_flash_info 结构把 flash 相关信息添加到表格中。 默认通用指令如下: +------+------+---------------------+ | 序号 | 指令 | 说明 | +======+======+=====================+ | 1 | 0x03 | Flash normal 读数据 | +------+------+---------------------+ | 2 | 0x02 | Flash page 写数据 | +------+------+---------------------+ | 3 | 0x06 | Flash 写数据使能 | +------+------+---------------------+ | 4 | 0x04 | Flash 写数据使无效 | +------+------+---------------------+ | 5 | 0x05 | Flash 读状态寄存器 | +------+------+---------------------+ | 6 | 0xC7 | Flash 片擦除 | +------+------+---------------------+ | 7 | 0x9F | Flash 读 JEDEC ID | +------+------+---------------------+ 注:现 SPI 控制器对 Flash 进行读写数据操作时,默认使用 DMA 传输通道。 资源依赖 --------- - SPI - DMA - GPIO - IRQ 用法流程 --------- - 初始化 :cpp:func:`extern_flash_init` - 读数据 :cpp:func:`extern_flash_read_data` - 写数据 :cpp:func:`extern_flash_write_data` - 擦除 :cpp:func:`extern_flash_erase` - 片擦除 :cpp:func:`extern_flash_chip_erase` - 发送命令 :cpp:func:`extern_flash_send_cmd` - 注销 :cpp:func:`extern_flash_deinit` 参考示例 --------- :: examples/extern_flash_spi_demo API 介绍 ----------- .. doxygenfile:: extern_flash.h