[发明专利]一种嵌入式虚拟USB磁盘的实现方法无效
申请号: | 201110082750.4 | 申请日: | 2011-04-01 |
公开(公告)号: | CN102736858A | 公开(公告)日: | 2012-10-17 |
发明(设计)人: | 柴可 | 申请(专利权)人: | 柴可 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510080 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 虚拟 usb 磁盘 实现 方法 | ||
技术领域
本发明实施例主要涉及嵌入式计算机技术应用领域,特别是在嵌入式计算机硬件环境下虚拟USB磁盘系统的实现方法。
背景技术
目前,在嵌入式计算机应用环境下,经常通过USB磁盘接口及其通信协议,方便地实现嵌入式设备与嵌入式设备之间,嵌入式设备与上位机间的数据交换。但是由于许多嵌入式设备受到诸如设备体积、电源功耗及设备成本等等因数的制约,其内部存储空间的容量很小。采用公知的嵌入式计算机应用环境下USB磁盘系统的实现方法,无法构成大容量的USB磁盘。而应用USB磁盘接口及其通信协议进行较大数据量传输时,又需要占用较大的USB磁盘存储空间。这样一来,在嵌入式设备存储空间有限的情况下,极大地限制了该设备与上位机联机时的数据量传输量,在需要大量的中转性数据通信时这种限制尤为明显。
发明内容
有鉴于此,本发明实施例的目的之一在于提出一种虚拟的USB磁盘结构,在保证与普通USB磁盘接口及FAT文件系统磁盘文件格式兼容的前提下,在嵌入式设备有限的存储器容量内,用极少存储空间,实现较大容量虚拟USB磁盘的方法。并且利用USB磁盘的底层驱动程序里USB中断服务子程序对磁盘扇区读写的应答和等待机制,达成数据传输的同步。从而使嵌入式设备与嵌入式设备之间,嵌入式设备与上位机间基于数据文件操作的大批量多扇区的中转性数据传输成为可能。
本发明实施例解决其技术问题所采用的技术方案是:
在嵌入式设备的ROM中定义一个兼容FAT文件系统磁盘文件格式DBR(DOS BOOT RECORD)操作系统引导记录区第一扇区的映射扇区,用于存放虚拟USB磁盘的初始导引数据及相关磁盘格式数据。然后在嵌入式设备的USB磁盘的底层驱动程序中将对DBR中第一扇区的读操作指向该映射区,将对DBR中的其他扇区固定映射为全“0”只读扇区,即对所有超出第一扇区偏移值的DBR区读操作返回值均为“0”,对所有对DBR区的写操作均放弃。
同时在嵌入式设备的RAM中定义4个长度均为一个扇区的fat1扇区、fat2扇区、dir扇区和DDS(Disk Data Storage)扇区,在嵌入式设备的USB磁盘的底层驱动程序中,分别将嵌入式设备RAM中的fat1扇区、fat2扇区和dir扇区,映射为虚拟USB磁盘上FAT(FileAllocation Table)文件系统文件分配表1(FAT1)中的第一扇区、文件分配表2(FAT2)中的第一扇区和根目录Root Directory中的第一扇区,将FAT表中FAT1、FAT2和根目录RootDirectory中的其他扇区固定映射成数值为全“0”的只读扇区,即对所有超出第一扇区偏移值的FAT1、FAT2和Root Directory区的读操作返回值均为“0”,对所有超出第一扇区偏移值的FAT1、FAT2和Root Directory区的写操作均放弃。将嵌入式设备RAM中的DDS(Disk DataStorage)扇区重复映射为虚拟USB磁盘的全部DDS(Disk Data Storage)扇区。
接着将相关的虚拟USB磁盘的初始化数据数据分别写入到嵌入式设备的RAM中的fat1扇区、fat2扇区和dir扇区中去,实现对虚拟USB磁盘的格式化。从而构成一个兼容FAT文件系统磁盘文件格式并且完成了初始化的虚拟USB磁盘。该磁盘仅占用了嵌入式设备中的一个扇区长度单位字节ROM和四个扇区长度单位字节RAM存储空间资源(不包含虚拟USB磁盘的底层驱动程序所占空间)。而该虚拟USB磁盘的虚拟容量取决于存放在DBR扇区中的通常被称之为BPB(BIOS Parameter Block)磁盘格式参数。每次传输文件的最大数据长度,则取决于FAT表中第一扇区所能存放的簇链接数以及BPB中定义的每簇扇区数,可以远远大于嵌入式设备本身的全部存储空间。
在实际应用中,只要在嵌入式设备的USB接口中断服务程序中调用磁盘扇区读写函数读写完一个DDS(Disk Data Storage)扇区后,利用USB磁盘的底层驱动程序里USB中断服务子程序对磁盘扇区读写的应答和等待机制,及时建立、转移或处理完该扇区数据再返回,实现数据传输中的等待与同步,保证大批量数据传输的完成。
本发明实施例的有益效果是,占用极少的嵌入式设备存储空间,实现虚拟USB磁盘的方法。从而使嵌入式设备与嵌入式设备之间,嵌入式设备与上位机间基于数据文件操作的大数据量的中转性数据传输成为可能。
附图说明
为了更进清楚的说明本发明实施例的技术方案,下面将对实施例中描述中所需要使用的附图做简要介绍。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于柴可,未经柴可许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110082750.4/2.html,转载请声明来源钻瓜专利网。