发新帖

RTThread DFS 使用

[复制链接]
304 0

本文包含源代码、原理图、PCB、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
RTThread DFS文件系统使用1。环境
使用的RT-Thread Studio,方便配置,如果使用env工具也是一样的!
开发板:我使用的是野火挑战者开发板,F429IGT芯片。
2。配置
勾选DFS、Fatfs、SPI、SFUD这几个选项,然后在组件--设备虚拟文件系统--使用虚拟文件系统中勾选“对文件系统使用装载表”,这样程序在初始化时会自动挂载文件系统,但是这个功能需要在某个C源文件中添加你自己的挂载表,以下是我的装载表:
  1. const struct dfs_mount_tbl mount_table[]=
  2. {
  3.         {"sfa","/","elm",0,0},
  4.         {0},
  5. };
复制代码
sfa是我对spiFlash存储芯片的设备命名,这个需要在添加初始化代码,见下面的代码。“/”是你需要挂载的目录,“elm”是文件系统,后面两个0默认就ok
  1. #if defined(BSP_USING_SPI_FLASH)
  2. static int rt_hw_spi_flash_init(void)
  3. {
  4.     __HAL_RCC_GPIOF_CLK_ENABLE();
  5.     rt_hw_spi_device_attach("spi5", "spi50", GPIOF, GPIO_PIN_6);
  6.     if (RT_NULL == rt_sfud_flash_probe("sfa", "spi50"))
  7.     {
  8.         return -RT_ERROR;
  9.     }
  10.     return RT_EOK;
  11. }
  12. INIT_COMPONENT_EXPORT(rt_hw_spi_flash_init);
  13. #endif
复制代码
使用INIT_COMMONENT命令可以把初始化导入到初始化列表中并在系统启动时自动进行初始化。
需要注意的是,第一次使用一定要自己调用dfsmkfs的函数,msh的mkfs指令没有用!!!!DFS我调试了很久才调出来,老是挂载失败,因为觉得它的mkfs指令一定没有问题,就首先排除了它的问题,最后一步步代码调试的时候发现mkfs创建的文件系统根本就没有成功,,,,所以调试很重要!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-22:00
快速回复 返回顶部 返回列表