基于μC/OS-Ⅱ的嵌入式USB控制軟件的實(shí)現
2 FAT32文件系統的實(shí)現
文件系統的作用是對文件在介質(zhì)上的存儲進(jìn)行管理,并為操作系統提供操作函數。若把U盤(pán)看成是以扇區為單位的邏輯盤(pán)(1扇區=512 B),當一個(gè)U盤(pán)被格式化成FAT32格式的分區后,它的結構形式圖如圖2所示。本文引用地址:http://dyxdggzs.com/article/150349.htm
FAT32文件系統中,FAT表是一個(gè)數據表,以簇(cluster)的形式鏈式存放。當一個(gè)文件大于一簇(4個(gè)扇區)時(shí),每簇中存放的數據便是文件存放的下一簇地址。直到遇到簇中的數據為“FF FF”時(shí),才表示此文件已至尾簇。數據內容不連續地存放于數據區內。文件系統使用設備驅動(dòng)提供的4個(gè)函數獲取設備的狀態(tài)信息以及實(shí)現對設備的讀寫(xiě)。
3 USB設備枚舉的實(shí)現
枚舉就是從Deveice讀取信息,通過(guò)設備描述符設備告訴Host是什么設備、如何進(jìn)行通信,Host根據這些信息來(lái)加載合適的驅動(dòng)程序。
3.1 枚舉過(guò)程及實(shí)現
USB是一種主從的結構,所有傳輸由Host來(lái)發(fā)起。當Host發(fā)起一次傳輸時(shí),通常包括3個(gè)包(Packets)的傳輸。Host首先是發(fā)送一個(gè)Token Packet,包含本次傳輸的命令類(lèi)型(Type)、方向(Direction)、設備的地址(Device Address)以及端點(diǎn)號(Endpoint);緊接著(zhù)發(fā)送數據包(Da-ta Packet),包含要求Device返回描述符的命令數據;最后由Device返回握手信號包(handshake packet),正確返回(ACK)命令。
評論