基于μC/OS-Ⅱ的嵌入式USB控制軟件的實現
2 FAT32文件系統的實現
文件系統的作用是對文件在介質上的存儲進行管理,并為操作系統提供操作函數。若把U盤看成是以扇區為單位的邏輯盤(1扇區=512 B),當一個U盤被格式化成FAT32格式的分區后,它的結構形式圖如圖2所示。本文引用地址:http://www.104case.com/article/150349.htm
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)命令。
評論