RT-Thread&ART-PI文件系统在SPI Flash上的使用

Posted Rb菌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RT-Thread&ART-PI文件系统在SPI Flash上的使用相关的知识,希望对你有一定的参考价值。

一、ENV使能SPI_Flash

1.1.添加Kconfig配置

menu "Onboard Peripheral Drivers"
    config BSP_USING_SPI_FLASH
        bool "Enable SPI FLASH (spi1)"
        select BSP_USING_SPI
        select BSP_USING_SPI1
        select PKG_USING_FAL
        select FAL_USING_SFUD_PORT
        select RT_USING_SFUD
        default n
endmenu

menu "On-chip Peripheral Drivers"
    menuconfig BSP_USING_SPI
        bool "Enable SPI"
        default n
        select RT_USING_SPI
        if BSP_USING_SPI
            config BSP_USING_SPI1
                bool "Enable SPI1"
                default n
        endif
endmenu

1.2.ENV配置

输入menuconfig

因为板载的 W25Q128 是挂载在 SPI1 总线上的,所以这里我们使能 SPI1

使能串行 Flash 通用驱动程序(SFUD)

当我们使能硬件 SPI 的时候 FAL 的软件包也默认为我们使能了。

FAL是对 Flash 及基于 Flash 的分区进行管理、操作的抽象层,对上层统一了 Flash 及分区操作的 API 。

使用 pkgs --target 拉取软件包,最后使用 scons --target=mdk5 生成代码

二、使用CubeMX配置SPI

2.1.查看 SPI_FLASH 对应的引脚

打开电路原理图

打开 CubeMX,使能 SPI1 外设。

三、添加SConscript脚本

以上配置完成之后,默认是不会将设备挂载到 SPI 总线的,需要我们手动的添加代码去绑定 SPI 设备,为了防止每次 mdk 生成代码之后重复添加,所以我们需要在 SConscript 中配置,让其自动生成代码。

打开 bsp\\stm32\\stm32h750-artpi-h750\\board\\SConscript 添加如下代码

四、编译验证

可以看到,SPI_Flash 已经成功的挂载到了 SPI 总线,并且识别出其大小为16M,同时fal为我们展示了 flash 中的分区,可以清晰的看到 wifi,ble 等等固件存放的地址。

输入 list_device 查看系统中的设备,同样也是可以看到 SPI 设备的,也可以使用 sf probe 来探测 SPI_Flash。

五、添加文件系统

使能虚拟文件系统 DFS


打开 littlefs 软件包

下载到开发板,可看到文件系统已经挂载到了/flash下面了

以上是关于RT-Thread&ART-PI文件系统在SPI Flash上的使用的主要内容,如果未能解决你的问题,请参考以下文章

RT-Thread&ART-PI文件系统在SDIO上的使用

RT-Thread&ART-PI文件系统在SDIO上的使用

RT-Thread&ART-PI文件系统在SPI Flash上的使用

RT-Thread&ART-PI文件系统在SPI Flash上的使用

RT-Thread&ART-PI文件系统在SPI Flash上的使用

RT-Thread ART-PI 学习笔记:TouchGFX通过文件系统读取图片