原创 ADSP-EDU-BF531/BF533开发板教学视频第21集--SD卡文件系统【Open ADSP开源社区】

2012-5-3 10:17 1273 12 12 分类: 处理器与DSP

手把手教您使用ADI DSP进入下一个阶段,高级应用代码解析。第一个是SD卡文件系统,文件系统作为存储的必备技术,在Blackfin上是怎样实现的呢?请看本章讲解!

由于现在博客里暂时放不了视频,大家只能点击一下链接观看视频,讲义仍然放在博客中。

优酷视频链接:http://v.youku.com/v_show/id_XMzI4MzE4NzYw.html

高清下载地址:http://115.com/file/clyhw3v9      如需提取码,则是:clyhw3v9

开发板链接:http://item.taobao.com/item.htm?spm=1103Qmdt.3-3dfNy.h-1Akvus&id=9026190872&

7.1 BF53x_SD_FS(SD卡文件系统)

7.11 代码实现功能

代码实现了通过文件系统读取SD卡上的文件,并对文件和文件夹做读、写、删除、建立、文件列表、文件搜索等功能,代码以将文件系统和SD卡驱动挂载在一起,直接运行代码可对格式化过的SD卡进行文件建立等操作。

编译运行代码,代码会对SD卡根目录下的文件进行文件列表,然后将第一个文件进行复制,并保存为“2.txt”,通过计算机可以查阅复制的文件。

7.12 代码使用说明

工程下有两个文件夹:bf53x_sd_mmc_lib和fat32_lib 。 这两个文件夹分别是SD卡驱动的库源代码和文件系统的库源代码,直接运行这两个文件夹下的工程,会在各自的DEBUG文件夹下生成*.dlb文件,这个文件就是库文件。在工程文件夹的根目录下,已经有这两个库文件,这两个库文件被BF53x_SD_FS.dpj工程调用,实现文件系统功能。

SD卡速度的配置:

void MMC_HardwareInitial(void)

{    

       *pFIO_DIR = PF2;

       *pFIO_FLAG_S = PF2;

       *pSPI_FLG = FLS2;

       *pSPI_BAUD = 4;

       *pSPI_CTL = 0x0000;

       *pSPI_CTL = 0x0001 | MSTR ;

       *pSPI_CTL = (*pSPI_CTL | SPE);

}

修改*pSPI_BAUD的值进行配置,当为2时,速度最快,配置值不能小于2。

当使用SD卡时,需通过CPLD打通SD卡链路,配置如下:

*pDEVICE_OE     = ~SD_SEL; 

 

文件列表函数:将“/”目录下所有文件和文件夹进行列表,并将文件和文件夹的名称和数量存入指定数组。

scan_files("/",file_name,file_count,dir_name,dir_count);

7.13 代码实验步骤

  1. 将SD卡格式化,并在SD卡根目录下存一些.txt文件。
  2. 将SD卡插入开发板的SD卡接口,编译并运行代码。

3. 待代码运行完成后,将SD卡插入计算机,查看建立的2.txt文件。

7.14 代码实验结果

在SD卡根目录下将文件列表的第一个文件行复制并将文件名改为2.txt。

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条