大概步骤在官网上的介绍已经说清楚了https://www.rt-thread.org/document/site/application-note/components/dfs/an0012-dfs/

其中有一些细节问题,这里再说一遍

①首先需要有一个stm32f767-atk-apollo的工程,在rtthread\bsp\stm32下有这个bsp包,进去后在env直接输入scons --dist可以生成一个dist目录,里边是一个独立的工程,修改这个工程不会改变我们rtthread源码,比较方便,且可以任意拖动和拷贝给其他人

②menuconfig 进入配置界面,在→ RT-Thread Components → Device virtual file system下配置文件系统

大概就是这样了,稍微学过英语就能大致看懂这些配置项,Enable elm-chan fatfs然后进入elm-chan's FatFs, Generic FAT Filesystem Module,这样配置,其他可以凭喜好,看官方的文档也能设置好,关键是(4096) Maximum sector size to be handled.W25Q256扇区大小为4k 4096Byte,这是最小操作区间,设置Maximum sector size 不能小于这个值。

③开启QSPI  在→ RT-Thread Components → Device Drivers配置

④需要配置libc,在→ RT-Thread Components → POSIX layer and C standard library下配置,

此时 → Hardware Drivers Config → Onboard Peripheral Drivers下的 Enable QSPI FLASH (W25Q256 qspi)也会自动打开,为防止没有自动选中,跳过去看一下

⑤保存配置推出,pkgs --upgrade后scons --target=mdk5,打开工程编译下载 ,结果如下,可见初始化成功

⑥list_device 查看设备,出现了名为qspi1的SPI Bus总线类型设备和名为qspi10的SPI Device设备,W25Q256挂载在qspi10上,需要注意的是F767有qspi,而F4以及F1只有SPI,所以这里没有出现所谓的spi5和spi50设备,使用的是qspi1和qspi10,看到这样的结果别太奇怪。

⑦ 生成文件系统,使用mkfs -t elm W25Q256命令,在W25Q256生成elm-fatfs文件系统,此时虽然生成了文件系统,但是并没有挂载到某个目录,且重启才会生成文件系统。

⑧ 在main函数中键入这段代码,我们将生成的文件系统挂载在根文件目录/下,官网所说的挂载在/spi下是因为事先工程中挂载了RomFS,里边有/spi目录。

    rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);if (dfs_mount("W25Q256", "/", "elm", 0, 0)==0) {rt_kprintf("spi flash mount to / !\n");}else {rt_kprintf("spi flash mount to / error !\n");}

结果如下,最后就可以enjoy 这个elm-fatfs了

RT-Thread在正点原子Apollo上为 QSPI FLASH W25Q256移植FATFS文件系统相关推荐

  1. 移植 stm32f7_移植zephyrOS到正点原子apollo STM32F767上

    移植(port)zephyrOS到正点原子apollo STM32F767开发板上,按照官方移植文档[1],在 boardsarm 中复制nucleo_f767zi,并改名apollo_f767ig, ...

  2. rtthread studio与正点原子apollo(9)--I2C设备之IO扩展

    rtthread studio与正点原子apollo[9]--I2C设备之IO扩展 前言 一.I2C总线接口简介 二.PC8574简介 三.访问I2C设备 四.I2C设备使用实践 五.IIC设备实例 ...

  3. rtthread studio与正点原子apollo(3)--硬件定时器HTIMER

    rtthread studio与正点原子apollo[3]--硬件定时器HTIMER 前言 一.软件定时器和硬件定时器? 二.HTIMER使用详解 1.RT-Thread studio配置 2.功能代 ...

  4. 【STM32Cube_20】在SD卡上移植FATFS文件系统

    本篇详细的记录了如何使用STM32CubeMX移植FATFS文件系统到SD卡上. 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi): Mi ...

  5. 【正点原子Linux连载】第三十八章 根文件系统构建 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  6. 正点原子FreeRTOS(上)

    更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进入------ ...

  7. 【STemWin】STM32F429IG单片机用LTDC驱动正点原子7寸RGB彩色触摸屏,并裸机移植STemWin图形库

    [器件型号] 单片机采用STM32F429IG,运行频率为180MHz,外部晶振HSE的频率为25MHz. 开发板采用外部32MB的SDRAM内存作显存.显示屏分辨率为800×480,颜色格式为RGB ...

  8. STM32正点原子TFT-LCD1.3寸(240x240)液晶显示屏移植

    吐槽 屏幕太贵了....40多一块,而且还只有1.3寸.记录本篇的目的是为了我换了更大的屏幕,为了以后需要特此记录. 如何移植 我相信各位都拘泥于库,有人用hal库,有人用标准库等等,万变不离其宗,库 ...

  9. 正点原子无线串口LORA模块透明传输学习整理

    基本上和正点原子手册上一样,只是为了以后使用方便,去除了屏幕显示和定向传输部分的代码. 串口使用串口三 定时器使用TIM7,用PA4记录AUX上升沿和下降沿变化. Lora简介 引脚配置及功能: 相关 ...

  10. 【正点原子FPGA连载】第二章 实验平台简介 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

最新文章

  1. Android:解决Gradle DSL method not found: 'runProguard()' 问题
  2. 成功的产品 = 做得好 + 卖得好
  3. python 两个列表相互映射_Python基础 — 10分钟学习函数式Python
  4. flex tree 展开树节点
  5. 前端学习(2052)vue之电商管理系统电商系统之配置http服务
  6. centOS 6 rpm安装MySQL小记
  7. 【django学习】request.POST与request.POST.get两者主要区别
  8. python并行线程倒计时_[python 并行2]线程
  9. BCGControlBar教程:可视化管理器
  10. MySQL 常用基础命令
  11. iOS UI控件(2) UITextView
  12. 开源微信商城java源码_微信小程序商城(java后台源码)
  13. 深度学习中的Momentum算法原理
  14. AST实战|免安装一键还原ob混淆详细使用教程
  15. js根据后缀名判断文件的类型
  16. 计算机搜索记录为什么删除不掉,删除电脑上搜索引擎记录的解决方法
  17. 精密整流电路(AD630)
  18. Revit SDK 官方下载地址(不定期更新)
  19. Android开发学习之路-脱壳反编译
  20. PDF无法复制或图片文字时,用java开发一个小程序来解决,下载jar包直接使用

热门文章

  1. Struts2框架之文件下载
  2. python获取扫描枪数据线_扫描枪常见接口数据线的连接方法
  3. 阅读YYKit之YYImage实现gif展示
  4. 创建 VSTO 工作簿的windows安装包
  5. C语言文件IO实现图书馆管理系统,登录、注册、借书、还书和新增书籍
  6. python图书馆系统借书验证登陆功能
  7. mac 批量更改文件后缀名
  8. JavaScript BOM
  9. C语言习题5.21--学生成绩的处理
  10. 调整DOS窗口大小的方法 2021-03-06