保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

嵌入式操作系统VxWorks中TFFS文件系统的构建


们的flash相关MTD驱动加入到makefile中。即:
  MACH_EXTRA=mx29lvMtd.o
  为了方便我们调试MTD驱动,应该在重新编译VxWorks映象前将诸如格式化flash、创建TrueFFS块设备、绑定此块设备到dosFs所必要的功能包含到VxWorks映像中。比如如下定义:
  #defineINCLUDE_TFFS
  #ifdefINCLUDE_TFFS
  #defineINCLUDE_TFFS_DOSFS
  #defineINCLUDE_TFFS_SHOW
  #defineINCLUDE_DOSFS/*dosFsfilesystem*/
  #defineINCLUDE_SHOW_ROUTINES/*showroutinesforsystemfacilities*/
  #defineINCLUDE_TL_FTL
  #defineINCLUDE_IO_SYSTEM
  #defineINCLUDE_DISK_UTIL
  #endif/*INCLUDE_DOSFS*/
  
  2、MTD驱动简介
  做了上述配置后,进入VxWorks操作系统后,我们在shell上利用tffsShow工具来显示flash的信息。TffsShow函数最终会调用MTD驱动中的mx29lvMtdIdentiy()函数,在mx29lvMtdIdentiy()函数主要是通过读取MX29LV160BT芯片的设备和厂商ID来识别它,然后对FLFlash结构成员进行初始化,最主要的几个参数是:
  type
  Flash内存的JEDECID号。
  
  erasableBlockSize
  
  Flash内存的擦除块大小(字节)。设置这个值时应考虑到interleaving。因此,通常通过如下方法来设置它的大小。
  Vol.erasableBlockSize=MX29LV_MTD_SECTOR_SIZE*vol.interleaving;
  对于MX29LV160BT,MX29LV_MTD_SECTOR_SIZE为64K字节。
  chipSize
  使用来构建TrueFFS文件系统的flash实际大小(字节)。
  noOfChips
  使用来构建TrueFFS文件系统的flash实际片数。
  interleaving
  Flash内存交叉因子(interleavingfactor)。即扩展数据总线的设备数。比如,一个32位数据总线上,我们可以使用4片8位或2片16位的设备。
  map
  指向flash内存映射(map)函数。该函数将flash映射到内存区。
  read
  指向flash内存的读函数。在MTD驱动识别函数中,这个成员函数已经被初始化为缺省的读函数。通常情况下,我们不需要再初始化它,否则还需要修改很多相关的函数。
  write
  指向flash内存的写函数。这个成员必须初始化,这是我们要做的一个重要工作。
  erase
  指向flash内存的擦除函数。这个成员必须初始化,这也是我们要做的一个重要工作。
  
  针对FLFlash结构成员,我们所关心的两个函数就是写和擦除函数。在mx29lvMtdIdentiy()函数中必须有如下定义:
  vol

《嵌入式操作系统VxWorks中TFFS文件系统的构建(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/141644.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。