基于μcosII的嵌入式文件系统的设计与实现 01
![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
![](http://images.eccn.com/silabs/silicon_chip_980x60_202203.jpg)
基于μcosII的嵌入式文件系统的设计与实现 01
近年来随着数码相机、扫描仪、摄像手机等数码设备的兴起,数字照片成为人们生活中不可缺少的一部分。数码相框作为一种新兴的显示媒介,以它大容量的存储相片的能力,良好的显示效果和多样的功能正越来越迅速的走进千家万户。
随着国家广电总局推行电视数字化的进程,数字电视全面铺开。本项目的开发正是基于这两种考虑,开发了一种将数码相框和数字电视相融合的产品。
在这个产品的开发过程中,一个关键性的问题就是为MB86H20B数字电视平台扩展外部存储的功能。本文中提到的基于μcosII的嵌入式文件系统的解决方案较好的解决了这一问题。
2 嵌入式文件系统硬件连接图
ISP1160与MB86H20B(简称20B)之间的硬件连接图如图1,ISP的异步传输端口与20B上的UPI(Universal Peripheral InteRFace)接口相连,这是一种可以配置模式和时序的接口。在此采用了IDE模式,按照ISP1160的时序要求对其进行了配置。ISP1160在20B上仅仅映射2个IO地址,一个为数据端口,一个为命令端口,由A0的高低电平区分[3]。
![](http://embed.chinaitlab.com/UploadFiles_4615/201005/20100531111219375.jpg)
图1 Decoder与USB Host Controller连接原理图 ISP1160上的INT引脚连接到20B外部中断引脚IRQ1。当中断发生时,20B进入中断服务程序,读取ISP1160状态寄存器。这就构成了ISP1160到20B的数据反馈通路。
3 在U盘上构建FAT32文件系统
FAT32文件系统由三部分构成, 这三部分在逻辑盘上的结构如图2[1]所示。
![](http://embed.chinaitlab.com/UploadFiles_4615/201005/20100531111219971.jpg)
图2 FAT32文件系统结构示意图 DBR(DOS Boot Record)包含BIOS参数块和DOS引导程序。在BIOS参数块中包含了每簇扇区数,保留扇区数,隐含扇区数,每FAT扇区数,根目录FDT在DATA区的起始位置等重要信息。
DATA区是从U盘根目录FDT(FAT Directory Table)开始的,在根目录下用户可以再创建不同的子目录或文件,根目录以及各个子目录都有自己的FDT ,FDT 定义了文件名、文件大小以及文件存放的起始簇号。通过各子目录和文件的FDT构成的树形文件索引结构完成对文件的定位。
物理设备的最小存储单位是Sector(扇区),在DATA区中最小的存储单位是Cluster(簇),在U盘的flash上一般由8个Section构成一个Cluster。
由于一个文件往往在DATA区上占用多个簇,FAT32文件系统采用簇链的方式索引一个文件所占用的簇链。FAT(File Allocate Table)记录了DATA区哪些簇被使用,当前簇的后继簇簇号[1]。 |
|
|
|
|
|