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设备
添加文件和代码
下载到开发板