zoukankan      html  css  js  c++  java
  • RTThread中使用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使用,后续挂载文件系统

    步骤六:挂载文件系统

    结果:

  • 相关阅读:
    Flask目录结构
    RHSA-2019:1880-低危: curl 安全和BUG修复更新 及 RHSA-2019:1884-中危: libssh2 安全更新
    ELK+Logback进行业务日志分析查看
    Maven编译过程中出现的问题
    Zabbix监控服务器磁盘I/O
    创建readonly只读用户脚本
    Zabbix监控多个JVM进程
    redis命令
    docker配置Nginx
    docker基本命令
  • 原文地址:https://www.cnblogs.com/Raowz/p/13069061.html
Copyright © 2011-2022 走看看