SD卡文件系统的移植

2019-08-17 01:24发布

大家好,我现在在写一个SD卡的驱动(含文件系统的),现在已经把除了文件系统的部分写好了,测试页通过了。请问一下哪里可以下载到完整的文件系统阿,如果有文件系统移植的知道文件就更好了,小弟我是第一次做含文件系统的SD卡驱动,所以不熟悉文件系统的移植步骤和移植过程中要注意的细节。请大家有空指点指点,推荐推荐,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
ricefat
1楼-- · 2019-08-17 04:34
 精彩回答 2  元偷偷看……
星空
2楼-- · 2019-08-17 06:01
谢谢
星空
3楼-- · 2019-08-17 10:12
大家好,我在SD卡文件系统的官网上下载了一个文件系统,并且一致了上去,我使用文件系统中的打开文件的函数f_open(……)新建了一个文件,并且新建的这个文件其访问权限我设置为可写的。我而后使用f_write(……)函数往新建的这个文件中写入了个字符串,而后用f_read(……)读出了这个文件中我写入的内容,结果正确。我现在遇到的问题是我所做的项目要求不同内容必须存在不同的文件中,且要分多个文件夹存储文件。(如:一个高中学校有高1到高3三个年纪,每个年级有7个班,每个班级有59个学生,那么包含年级的学生信息就存在文件夹1,2,3中,文件夹1存高一学生的信息,文件夹2存高2年纪的学生信息……,每个年级的7个班,每个班的学生信息存在一个文件中。7个班就需要七个文件。)。我现在遇到的问题就是如何建文件夹,如何在文件夹下再建文件。希望大家能够指点指点,谢谢。
星空
4楼-- · 2019-08-17 12:19
在移植好了文件系统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;
}
肩上的月光
5楼-- · 2019-08-17 13:04
挖坟,不知道楼主问题解决了没有

一周热门 更多>