基于μC/OS-Ⅱ的嵌入式USB控制軟件的實(shí)現
4 Bulk-only傳輸的實(shí)現
枚舉結束后是對塊設備的讀寫(xiě)。Bulk-Only傳輸規范是USB組織針對大容量存儲設備制定的一種塊存儲類(lèi)協(xié)議,它僅僅使用Bulk端點(diǎn)來(lái)傳送數據/命令/狀態(tài)。本文引用地址:http://dyxdggzs.com/article/150349.htm
邏輯分析儀抓包結果如圖5所示。從抓包結果可以清晰的看出CBW包由31個(gè)字節組成。
CBW包和CSW包正確收發(fā)后,Bulk-only傳輸就能順利實(shí)現。完成對扇區的讀寫(xiě),文件系統的掛載。上層應用程序使用文件系統提供的API,操作底層設備,實(shí)現對文件的建立、讀寫(xiě)、刪除等操作。經(jīng)測試本系統支持長(cháng)文件名和超過(guò)2 GB容量的USB設備。本設計最終實(shí)現了在不同型號U盤(pán)上完成對長(cháng)文件名文件的新建、讀寫(xiě)以及刪除操作。
5 結語(yǔ)
本設計在以CK510為內核的HM1521_B芯片上,通過(guò)文件系統實(shí)現了對USB設備的讀寫(xiě)操作。程序代碼放棄了USB協(xié)議中的繁文縟節,抓住協(xié)議核心以達到精簡(jiǎn)高效之目的。在大容量USB存儲設備的兼容性方面也進(jìn)行了探討。經(jīng)測試本系統支持長(cháng)文件名和超過(guò)2 GB容量的USB設備。最終實(shí)現了在不同型號U盤(pán)上完成對長(cháng)文件名文件的新建、讀寫(xiě)以及刪除操作。
本系統尚需改進(jìn)的地方主要是讀寫(xiě)過(guò)程中的出錯應對能力。如何應對USB設備在讀寫(xiě)過(guò)程中的突然拔插,以及如何提高數據傳輸出錯時(shí)的校驗能力都是本課題進(jìn)一步研究的方向。
評論