引导扇区(DOS Boot Record,DBR)存储了本分区的BPB(BIOS Parameter BLOCk)信息。主引导记录MBR(Master Boot Record)是物理上第一个扇区,绝对扇区号是0,它独立于任何一个分区。MBR的前446B是系统引导程序,接着的64个字节是分区表DPT(Disk Partition Table),最后两字节是扇区有效标志55 AA。初始化一个U盘的文件系统,很重要的一步就是填写引导扇区的过程。对有些关键字节进行分析如下所示:
FAT32文件系统中,FAT表是一个数据表,以簇(cluster)的形式链式存放。当一个文件大于一簇(4个扇区)时,每簇中存放的数据便是文件存放的下一簇地址。直到遇到簇中的数据为“FF FF”时,才表示此文件已至尾簇。数据内容不连续地存放于数据区内。文件系统使用设备驱动提供的4个函数获取设备的状态信息以及实现对设备的读写。
3 USB设备枚举的实现
枚举就是从DeveICe读取信息,通过设备描述符设备告诉Host是什么设备、如何进行通信,Host根据这些信息来加载合适的驱动程序。
3.1 枚举过程及实现
USB是一种主从的结构,所有传输由Host来发起。当Host发起一次传输时,通常包括3个包(PACkets)的传输。Host首先是发送一个Token Packet,包含本次传输的命令类型(Type)、方向(Direction)、设备的地址(Device Address)以及端点号(Endpoint);紧接着发送数据包(Da-ta Packet),包含要求Device返回描述符的命令数据;最后由Device返回握手信号包(handshake packet),正确返回(ACK)命令。