SPI Flash M25P32 的TFFS文件系统的设计与实现
函数数量视需要构建的文件系统数量而定,本文构建了1个文件系统ofsl,并在simmRegisterOfsl()函数中对文件系统的基地址进行了设置,同时对FLSocket()结构体中的毁掉处理函数进行了挂接,挂接函数也在该文件中实现,如卡上电、断电、写保护等。
对sysTffsFormaOfsl()函数的格式化参数可根据自己的需要进行修改。
4.3 tffsConfig.c和tffSMtd.c文件的修改
tffsConfig.c文件的修改就是在mtdTalbe []表中注册Flash识别函数iUnifiedIdentifyOfsl();而tffsConfig.c文件则用于实现iUnifiedldentifyOfsl()函数,iUnifiedIdentifyOfsl()函数对FLFlash结构体中的回调函数进行了挂接,如flash的读、写、擦除等,挂接函数的具体实现可在Dry_MvSFlash.cpp文件中以一个类的方式提供针对M25P32 spi Flash操作的所有驱动接口。
4.4 TFFS文件系统的安装
通过上面的过程,socket层和mtd层就都准备好了,下面便可以安装tffs文件系统。安装时,首先用sysTffsFormatOfsl()函数按照上面设定的参数格式化TFFS文件系统,而后通过usrTffsConfig(0,0,"ofsl")函数接口在已建好的TFFS上挂接DOS文件系统,成功后,即可通过open、read、write等来操作Flash上的文件系统,也可以通过FTP方式用IE访问该文件系统中的内容。
4.5 Makefile文件的修改
对于Makefile的修改非常简单,因为几个和TFFS相关的源文件都是以.pl的方式被链人bsp工程的,所以只需要在makefile文件中把这个文件加入即可,即在makefile中加了如下的宏定义:
MACH_EXTRA+=../ArmPri/ARMARCH5gnu/ArmBspPrj.pl
5 结束语
本文对VxWorks下TFFS文件系统的层次结构和FTL层的启动过程、块映射算法、垃圾回收算法以及用FTL创建DOSFS进行了分析,给出了在M25P32 SPI Flash上创建TFFS文件系统和将TFFS挂在DOSFS的实现方法。通过对TFFS核心层FIL的分析给出的TFFS实现方法,可以从更基础的层面来认识VxWorks中的TFFS文件系统,从而给TFFS文件系统的问题定位和实现带来新的方法。
- 基于FAT16文件系统的嵌入式温度记录器(05-30)
- AT24C512中数据的文件系统化管理(10-09)
- 基于ATmega32的SD卡上FAT32文件系统数据读取(10-08)
- 嵌入式设备上的文件系统优化设计(01-12)
- 基于STM32处理器的便携式BMP图片解码系统设计(01-07)
- 基于ARM9和μC/OS-II的SD卡文件系统设计与实现(07-08)