RT-Thread中使用SPI操作FLASH(W25Q128),并在W25Q128上挂载文件系统

  • 开发板
    • 正点原子的STM32F407探索者
  • IDE
    • RT-Thread Studio
  • FLASH
    • W25Q128
  • FATFS
  • 参考RTThread官方文档

步骤一:创建基础工程

点击完成。修改main.c中对应LED0灯的引脚

步骤二:点击RT-Thread setting在图形界面配置需要的组件和驱动

 W25Q128是16M spi flash,一共有256个block ,每个Block 64KB。

  一个Block可以分割为16个扇区(small sector),每个扇区4096字节(4KB),所以我们需要修改fatfs的扇区大小为4096

步骤三:根据RTT官网文档对SPI驱动进行修改,右击SPI 图标-->选择开发文档-->驱动开发文档

SPI 设备驱动的开发可总结为如下:
*** 新建 RT-Thread 完整版项目**
*** 打开 SPI 设备驱动框架**
*** 定义 SPI 总线相关的宏**
*** 打开 HAL 库函数对 SPI 总线的支持**
*** 复制 SPI 引脚初始化函数到工程**



在rtthread源码中
rt-thread/ bsp / stm32 / stm32f407-atk-explorer / board / CubeMX_Config / Src目录下有stm32f4xx_hal_msp.c
文件中有CubeMX针对SPI的初始化函数将其拷贝到drv_spi.c的文末。

编译,下载到板子。结果如图

步骤四:添加SPI从设备,也就是W25Q128设备

添加文件和代码

下载到开发板

步骤五:将W25Q128抽象为块设备供rtt使用,后续挂载文件系统

步骤六:挂载文件系统

结果:

posted @ 2020-06-08 22:34  一半丶  阅读(7557)  评论(0编辑  收藏  举报