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