OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2884|回复: 5

SD卡文件系统的移植

[复制链接]

80

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
673
金钱
673
注册时间
2013-8-16
在线时间
35 小时
发表于 2014-3-11 19:39:54 | 显示全部楼层 |阅读模式
大家好,我现在在写一个SD卡的驱动(含文件系统的),现在已经把除了文件系统的部分写好了,测试页通过了。请问一下哪里可以下载到完整的文件系统阿,如果有文件系统移植的知道文件就更好了,小弟我是第一次做含文件系统的SD卡驱动,所以不熟悉文件系统的移植步骤和移植过程中要注意的细节。请大家有空指点指点,推荐推荐,谢谢。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-11 20:47:57 | 显示全部楼层
回复 支持 反对

使用道具 举报

80

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
673
金钱
673
注册时间
2013-8-16
在线时间
35 小时
 楼主| 发表于 2014-3-12 10:37:41 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

80

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
673
金钱
673
注册时间
2013-8-16
在线时间
35 小时
 楼主| 发表于 2014-3-12 16:22:09 | 显示全部楼层
大家好,我在SD卡文件系统的官网上下载了一个文件系统,并且一致了上去,我使用文件系统中的打开文件的函数f_open(……)新建了一个文件,并且新建的这个文件其访问权限我设置为可写的。我而后使用f_write(……)函数往新建的这个文件中写入了个字符串,而后用f_read(……)读出了这个文件中我写入的内容,结果正确。我现在遇到的问题是我所做的项目要求不同内容必须存在不同的文件中,且要分多个文件夹存储文件。(如:一个高中学校有高1到高3三个年纪,每个年级有7个班,每个班级有59个学生,那么包含年级的学生信息就存在文件夹1,2,3中,文件夹1存高一学生的信息,文件夹2存高2年纪的学生信息……,每个年级的7个班,每个班的学生信息存在一个文件中。7个班就需要七个文件。)。我现在遇到的问题就是如何建文件夹,如何在文件夹下再建文件。希望大家能够指点指点,谢谢。
回复 支持 反对

使用道具 举报

80

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
673
金钱
673
注册时间
2013-8-16
在线时间
35 小时
 楼主| 发表于 2014-3-13 10:55:00 | 显示全部楼层
在移植好了文件系统ff.c文件后,要实现
DSTATUS disk_initialize (BYTE); 
DSTATUS disk_status (BYTE); 
DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE); 
DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE); // 如果实现只读的文件系统就不需要了。 
DRESULT disk_ioctl (BYTE, BYTE, void*);
这5个函数,这是5个对磁盘操作的函数,可是在他们的实现过程中没有调用到文件系统中的函数,例如:
DRESULT disk_read (BYTE drv, BYTE *buff,DWORD sector,BYTE count)
{
   u8 res=0; 
    if (!count)return RES_PARERR;//count不能等于0,否则返回参数错误    
switch(drv)
{
case SD_CARD://SD卡
res=SD_ReadDisk(buff,sector,count);//SD_ReadDisk(……)函数是在mmc_sd.c中实现的,没有用到文件系统的函数
break;
default:
res=1; 
}
    //处理返回值,将SPI_SD_driver.c的返回值转成ff.c的返回值
    if(res == 0x00)return RES_OK;  
    else return RES_ERROR;
}
回复 支持 反对

使用道具 举报

4

主题

57

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1760
金钱
1760
注册时间
2017-6-23
在线时间
172 小时
发表于 2017-7-12 16:21:34 | 显示全部楼层
挖坟,不知道楼主问题解决了没有
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-12-18 16:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表