首页 » 技术文章 » 基于μcosII的嵌入式文件系统的设计与实现

基于μcosII的嵌入式文件系统的设计与实现

作者:  时间:2010-05-28 13:28  来源:EDN

  4.3  USB主机协议栈的实现

  在U盘连接到USB电缆上后首先为ISP1160注册一个Root Hub Class,再为U盘注册一个Mass Storage Class的设备。接着,为了检测U盘的连接,启动查询当前状态的Host_Serve的任务。当ISP1160 U盘连接后,ISP1160通过中断通知20B20B进入中断服务程序改变当前状态。在Host_Serve任务中检测到状态的改变,开始USB协议的通信。至此,U盘(USB Mass Storage设备)注册完成(大容量类相关代码见程序清单3.13.2,表2)。由此以后,FAT32文件系统所要对U盘进行的操作都经过Bulk-Only传输完成。

程序清单3.1 大容量设备描述信息数据结构

程序清单2.2 逻辑单元描述信息数据结构

  实现的大容量类的API函数如表2所示。

大容量类API函数列表

  4.4  此文件系统在μcosII中的移植   

  FAT32文件系统来源于开源代码,移植的主要工作是替换消息通讯函数。这些工作完成后,将对File的各种操作包装成一个OSFile任务,接收应用程序发出的文件操作要求。文件系统的整体结构图如图4所示。

文件系统层次结构[2]

  性能测试

  基于已经实现的方案,进行了详细的测试。首先,对目录的创建,目录的删除,进入目录,退出目录,文件的创建,文件的删除,文件的读取,文件的写入等基本功能进行了测试,均能圆满完成以上功能。

  接下来对比较关键的文件读取功能进行了详尽的测试。测试所得到的结果完全达到了对数字相片读取的要求。

不同文件的读取时间

  结束语

  基于20BUPI接口实现USB的传输,之前没有可以参考的范例,完全是出于对硬件时序和文件系统的理解设计了整个解决方案。此方案解决了20B芯片上外挂U盘的问题, 从而使20B芯片可以应用于数字相框(Digital Video Frame)领域。

  为了让文件系统能够更好的适应嵌入式应用的需求,可以对文件系统做出一些优化,尽量做到对flash的写平衡,提高文件的读取速度,减少文件系统对CPU和内存资源的占用。

相关推荐

Ctrack选用u-blox GPS和蜂巢式模组开发车队管理解决方案

u-blox  嵌入式  Ctrack  2014-05-21

动作撷取追踪的嵌入式体感控制新技术

嵌入式  体感控制  2013-12-06

嵌入式系统的固件更新

嵌入式  Flash  RAM  缓冲区  2013-09-12

汽车电子向一体化集成、网络化与智能化发展

汽车电子  嵌入式  2013-05-23

东芝开发嵌入式SRAM低功耗技术智能手机

东芝  嵌入式  SRAM  2013-02-23

飞思卡尔基于ARM平台全系列MCU引领嵌入式应用新趋势

飞思卡尔  ARM  嵌入式  2013-01-29
在线研讨会
焦点