首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM系统硬盘接口的使用和文件管理(2)

基于ARM系统硬盘接口的使用和文件管理(2)

出于可靠性考虑, FA T 表一般都要冗余它的备份,冗余数量由BPB 表的N umFA T s 来定, 通常为2。
这样在突然断电等意外情况下, 可以根据备份的FA T 表进行修复。
3.3 硬盘数据区
FA T 表之后是硬盘的数据区, 其开始是根目录(ROO T D irecto ry) , 此处存放了FA T 表根目录下的文件与子目录。存放格式有两种, 一种是长文件名, 一种是短文件名(标准的813 格式) , 通过数据中的特征位能分辨出来。长文件名和短文件名格式见参考文献, 它包含了文件的名字、属性、大小、起始簇数、建立及写操作的时间。实际上子目录的信息也被当作一个文件存储在根目录区, 只是它的属性为目录, 大小为0。同样, 子目录起始簇内存放了该目录下文件和子目录的信息表。依据这些信息, 可以在FA T 表找到该文件的链接表, 执行对整个文件相应操作。
3.4 资源共享的实现
对于不同的文字平台, 为能够实现资源共享, 采用UN ICODE 来存储文件名。在长文件名中, 每个字符都是用16b it s 的UN ICODE 来表示的, 而在短文件名中, 采用用户自定义的类型, 例如在简体中文W indow s 下, 采用A SC? 码和GB2312 码。通过U 2N ICODE 与其它码表对比查找程序, 用户可以在自己期望的文字平台上进行操作。
图3 是读取一个文件的流程, 写文件的方法和读文件相类似, 只要注意在目录里建立文件时, 先把数据写入空白簇后再把FA T 表更新, 其中包括更新备份部分。


4 结束语
笔者通过U SB 接口使用S3C44B0X 中ARM 7TDM I 微处理器对20GB 以上的硬盘进行接口连接及控制, 用FA T 32 文件系统对硬盘进行数据管理, 多个大容量硬盘除了在ARM 系统能正常工作外, 在W IN 98/2000/XP 操作系统支持下的PC机上, 均能实现数据资源共享。基于ARM 系统大容量硬盘管理与控制系统, 目前正被使用到远程电力网数据检测系统之中, 为嵌入式系统海量数据存储提供一种新的设计思路。
返回列表