打印

基于RT-Thread快速上手SD NAND 虚拟文件系统

[复制链接]
653|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
芯片芯语|  楼主 | 2023-12-15 17:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#申请原创#  SD NAND 也称之为贴片式TF卡,贴片式SD卡,采用标准的SDIO接口,兼容SPI接口。下图所示为CS 新一代CS SD NAND  NP1GCR01-AOW  大小为128M,对比128M的SD卡,可以看到贴片SD卡尺寸更小,不要SD卡座,占用更小的PCB面积;也可以节省PCB板层数,2层板即可使用。而且兼容可替代普通TF卡/SD卡,硬件电路软件程序通用。本案例基于RT-Thread物联网操作系统,更是不需要编写任何复杂的驱动代码就可以SD NAND读写操作。
  (文末提供,STM32驱动代码下载连接,需要可以自行下载)
  
  
      
  将SD NAND插入SD卡卡座。首先,新建一个RT-Thread项目工程,这里基于Draco开发板创建。
  
  完整的RT-thread项目默认是开启虚拟文件系统组件,RT-Thread DFS 组件的主要功能特点有:
  •   为应用程序提供统一的 POSIX 文件和目录操作接口:read、write、poll/select 等。
  •   支持多种类型的文件系统,如 FatFS、RomFS、DevFS 等,并提供普通文件、设备文件、网络文件描述符的管理。这里默认开启FatFS.
  •   支持多种类型的存储设备,如 SD Card、SPI Flash、Nand Flash 等。

  
  在 RT-Thread 中,我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的路径上,然后通过这个路径来访问存储设备。在应用程序文件夹下可找到mnt.c源程序。可以看到挂载文件系统的代码如下所示。

  上图通过自动化初始化代码实现文件系统挂载。挂载成功dfs_mount函数返回0.通过调试串口可以看到打印信息。Mount "/dev/sd0" on "/":0 done,说明SD NAND挂载成功。
  读写文件测试:文件系统正常工作后,就可以运行应用示例,在该示例代码中,首先会使用 open() 函数创建一个文件 text.txt,并使用 write() 函数在文件中写入字符串 “RT-Thread Programmer!\n”,然后关闭文件。再次使用 open() 函数打开 text.txt 文件,读出其中的内容并打印出来,最后关闭该文件。

  测试结果:在调试中断输入msh 命令readwrite_sample,即可运行案例。可以看到成功创建了文本,并写入了数据。

  STM32驱动下载链接:https://pan.baidu.com/s/1t9Bd3YUNtQmgpyQbmOIMEA?pwd=8051
  提取码:8051

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

44

帖子

0

粉丝