新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式视频存储的专用文件系统设计

基于嵌入式视频存储的专用文件系统设计

作者: 时间:2010-11-15 来源:网络 收藏

  2.1 磁盘信息区

  磁盘信息区的位置固定,用于保存当前磁盘信息和文件系统基本信息,如记录每个区域的具体位置和大小、信息区的使用情况、最后块位置等。下面为典型的磁盘信息结构:

  typedef STruct {

  UInt32 Formatted;/*格式化标志*/

  UInt32 DBN_Num;/*总块数*/

  UInt32 DBN_Size;/*块的大小*/

  UInt32 DBN_Begin;/*当前可用数据块开始地址*/

  UInt32 CurrentFAT;/*当前所用的分区*/

  UInt32 OtherInfoBlockAddr; /*保留信息区开始扇区*/

  UInt32 OtherInfoBlockSize;/*保留信息区大小*/

  UInt32 FileInfoBlockAddr[2][MAX_CHANNEL]; /*文件信息块开始扇区*/

  UInt32 FileInfoBlockSize;/*文件信息区大小*/

  UInt32 IndexInfoBlockAddr[2][ MAX_CHANNEL];/*索引信息块开始扇区*/

  UInt32 IndexInfoBlockSize;/*索引信息区大小*/

  } DiskInfo;

  2.2 保留信息区

  保留信息区用于保存其他系统信息,如操作日志信息、系统设置信息等,此区域大小可自由设定。

  2.3 文件信息区

  文件信息区用于保存录像文件的文件信息,如录像开始和结束时间,第一个数据块和最后一个数据块的位置,索引信息的位置和其他文件信息。每个文件的数据结构和大小固定。通过文件序号就可以准确定位文件信息的具体位置。

  文件信息区分两个部分,分别为分区一和分区二,用于描述覆盖前的文件信息和覆盖后的文件信息。每个分区根据最大文件数按录像路数顺序分配存储空间。

  每个文件信息包含以下信息:文件开始时间和结束时间,文件开始索引块地址和结束索引块地址,文件开始数据块地址和结束数据块地址等。下面为典型的文件信息结构:

  typedef struct {

  UInt32 FileID;/*文件序号*/

  time_t FileStartTime;/*录像开始时间*/

  time_t FileEndTime;/*录像结束时间*/

  UInt32 FileStartDBN;/*文件开始DBN*/

  UInt32 FileEndDBN;/*文件结束DBN*/

  IndexInfoAddr IndexInfoStart;/*索引信息开始地址*/

  IndexInfoAddr IndexInfoEnd;/*索引信息结束地址*/

  } FileInfo;

  2.4 索引信息区

  索引信息区用于保存录像文件所使用数据块的索引信息。索引信息也分为两部分,分别为分区一和分区二,用于描述覆盖前和覆盖后的索引信息。每个分区根据最大文件数按录像路数顺序分配存储空间。

DIY机械键盘相关社区:机械键盘DIY




评论


相关推荐

技术专区

关闭