由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌及规格的 Flash,提高了涉及到 Flash 功能的软件的可重用性及可扩展性,同时也可以规避 Flash 缺货或停产给产品所带来的风险 1.1 主要特点: 支持SPI/QSPI 接口、 ...
fal_flash_sfud_port.c为片外FLASH接口文件,这使用SFUD 万能SPI Flash 通用驱动库来驱动。 片外 Nor Flash 对接说明 : Flash 设备名称为 nor_flash,设备容量为 16M,最小擦除单元为 4K。这里使用的 read、 write、 erase接口最终调用 SFUD 框架中的接口,无需用户进行驱动开发 。 2、fal软件包API接口说明 这里...
#ifdef FAL_USING_SFUD_PORT #ifdef RT_USING_SFUD #include <spi_flash_sfud.h> #endif #ifndef FAL_USING_NOR_FLASH_DEV_NAME #define FAL_USING_NOR_FLASH_DEV_NAME "norflash0" #endif static int init(void); static int read(long offset, uint8_t *buf, size_t size); static int write(lon...
fal_flash_sfud_port.c为片外FLASH接口文件,这使用SFUD 万能 SPI Flash 通用驱动库来驱动。 片外 Nor Flash 对接说明 : Flash 设备名称为 nor_flash,设备容量为 16M,最小擦除单元为 4K。这里使用的 read、 write、 erase接口最终调用 SFUD 框架中的接口,无需用户进行驱动开发 关于可SFUD 万能 SPI Flash 通用...
定义片外 spi flash 设备可以参考 fal_flash_sfud_port.c 定义具体的 Flash 设备对象,用户需要根据自己的 Flash 情况分别实现init、read、write、erase这些操作函数: static int init(void):可选的初始化操作。 static int read(long offset, uint8_t *buf, size_t size):读取操作。
在RTT FAL组件中的SFUD提供的fal_flash_dev对象默认的nor_flash0参数中,flash大小默认为8M,而W25Q128最大最16M,可以选择在. t-threadcomponentsfalsamplesportingfal_flash_sfud_port.c文件中对struct fal_flash_dev nor_flash0进行修改: struct fal_flash_dev nor_flash0 = ...
第一个nor_flash0 在falsamplesproting文件夹的fal_flash_sfud_port.c中。你是不是用了FAL,没有启用SFUD,导致编译时出现了无法找到nor_flash0的错误? 第二个stm32f2_onchip_flash stm32f2_onchip_flash是FAL示例文件fal_flash_stm32f2_port.c中的一个变量,不要用它。 在fal_cfg.h头文件中,默认用了这个...
定义片内 flash 设备可以参考fal_flash_sfud_port.c。 定义片外 spi flash 设备可以参考fal_flash_stm32f2_port.c。 定义具体的 Flash 设备对象,用户需要根据自己的 Flash 情况分别实现init、read、write、erase这些操作函数: static int init(void):可选的初始化操作。
在RTT FAL组件中的SFUD提供的fal_flash_dev对象默认的nor_flash0参数中,flash大小默认为8M,而W25Q128最大最16M,我们可以选择在.\rt-thread\components\fal\samples\porting\fal_flash_sfud_port.c文件中对struct fal_flash_dev nor_flash0进行修改:
flash_sfud_port.c文件中对struct fal_flash_dev nor_flash0 进行修改: