Fatfs移植到tq240

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 13:08   36   0

买了tq2440板学习arm9一段时间了,自然就想到只学理论不行,还得付之于实践,所以呢准备用tq2440+ucos+ucgui+sd+fatfs+MP3模块做一个系统,可以通过界面操作来控制播放MP3等功能。准备先学把fatfs移植到TQ2440。

fatfs是什么?为什么要fatfs?当我们需要看电影时候,点击一下那个电影文件,电脑就可以播放电影格式的文件,当我们需要看电子书时候,点击一下txt或者其他格式文件就可以看到文章。这些都是windows系统中文件系统的作用,而fatfs就是其中的一种文件系统,而windows能支持多种文件系统格式,如fat16,fat32,ntfs,ntfs5.0,winfs。硬盘存储的是机器代码,一台电脑拥有这么文件,如果数据乱存,那还得了!?有了文件系统,数据会按规律存储到硬盘上。如果先把软磁盘格式话,系统将在软磁盘上建立以下的数据结构:

(1) 引导记录(DBR):位于0 面0 道1 扇区,说明磁盘结构信息。
(2) 文件分配表(FAT):用于记录磁盘空间的分配情况,指示硬盘数据信息存
放的柱面及扇区的信息指针。其表项可以是以下四种表示方式之一:
A.一个数字,代表指向另一个簇的指针。
B.数字0,表示一个未使用的簇
C.一个坏扇区标记
D.文件结束标记符EOF
(3) 文件根目录表FDT:一个指示以存入数据信息的索引。记录磁盘上存储文
件的大小,位置,日期和时间等数据。
(4) 数据区:存放数据信息。

详细介绍fat文件系统原理的地址:http://www.doc88.com/p-67484249986.html 或者 看看于振南 讲文件系统的视频,通俗易懂喔^_^

大概理解了原理之后就要把fatfs移植到tq2440了。

fatfs官方的网页:http://elm-chan.org/fsw/ff/00index_e.html 最新版本是fatfs r0.09,下载一个,里面有两个文件doc和src,doc关于文档说明,可以不看。src里面就是需要移植的程序了。网上有很多关于移植的文章,我就不多说了。这里我找了一些资料,看完它就差不多了。

FatFS文件系统详解:http://www.embeddedlinux.org.cn/html/filesys/201110/16-1749.html

FATFS 谈:http://wenku.baidu.com/view/7c23ee6b7e21af45b307a86d.html

S3C2440 使SDIOSD :http://wenku.baidu.com/view/2f771ff90242a8956bece45e.html

SD+FATFS+2440总结:http://bbs.21ic.com/icview-237002-1-1.html

移植的时候会遇到大小端问题,看看这个:FatFs文件系统的移植http://apps.hi.baidu.com/share/detail/22033479

后来我移植完后,能读sd卡的第一个扇区,能读到磁盘信息,可是接下来读了几次扇区后,返回值说找不到文件,这个问题困扰了我几天,后来找到网上有人说,在于SD1.1 SD2.0 SDHC 三种卡的引导区位置不同,导致读取的数据错误。而我用的是SDHC,难怪读不到文件,至于fatfs是否不支持sdhc,我也不知道。最后我换了一张sd2.0的卡,成功了~

欢迎加入嵌入式交流qq群:107930620

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP