基于嵌入式開(kāi)發(fā)系統(tǒng)μC/OS-II的USB主機(jī)系統(tǒng)

2014-01-03 11:59 來(lái)源:電子信息網(wǎng) 作者:和靜

近日,美國(guó)一名學(xué)者研發(fā)出了一種全新的嵌入式開(kāi)發(fā)系統(tǒng),該系統(tǒng)被命名為μC/OS-II 。這個(gè)系統(tǒng)當(dāng)中的絕大多數(shù)代碼使用ANSIC 進(jìn)行的編寫(xiě)。能夠用于8 位、16 位、32 位、甚至64 位微處理器、微控制器、數(shù)字信號(hào)處理器等,具有操作系統(tǒng)最基本最核心的功能,非常適于在小型系統(tǒng)和片上系統(tǒng)(SOC)中使用。

USB 驅(qū)動(dòng)程序的設(shè)計(jì)

這個(gè)系統(tǒng)為開(kāi)發(fā)者提供了非常多的實(shí)時(shí)操作內(nèi)核。通常開(kāi)發(fā)者在進(jìn)行系統(tǒng)操作時(shí)需要自己來(lái)編寫(xiě)外圍器件的驅(qū)動(dòng)程序。以使外圍器件能在操作系統(tǒng)的協(xié)調(diào)下更好的為用戶(hù)服務(wù)。為了使軟件可移植性強(qiáng),易維護(hù),采用分層的方法編寫(xiě)USB的驅(qū)動(dòng)程序。綜合考慮USB 協(xié)議、USB 硬件接線(xiàn)、μC/OS-II的結(jié)構(gòu)來(lái)進(jìn)行分層,下表所列為USB 驅(qū)動(dòng)程序分層結(jié)構(gòu)。

USB

USB系統(tǒng)軟件的設(shè)計(jì)

嵌入式設(shè)計(jì)中的USB系統(tǒng)設(shè)計(jì)與系統(tǒng)的業(yè)務(wù)和應(yīng)用模塊聯(lián)系非常緊密。在μC/OS-Ⅱ?qū)SB進(jìn)行初始化時(shí),不但要對(duì)USB 硬件接口初始化,還需要對(duì)其相關(guān)軟件進(jìn)行初始化,比如:設(shè)置中斷處理函數(shù),以及單獨(dú)創(chuàng)建一個(gè)TaskSetup 任務(wù)以完成上位機(jī)對(duì)USB 系統(tǒng)主機(jī)的枚舉。中斷處理過(guò)程采用的是非向量中斷的方式,首先由中斷狀態(tài)寄存器的值判斷中斷產(chǎn)生的原因,然后由不同的原因設(shè)置不同的中斷處理函數(shù)。如果是數(shù)據(jù)中斷話(huà)則在相應(yīng)的中斷處理函數(shù)中發(fā)送對(duì)應(yīng)端點(diǎn)的信號(hào)量,這樣USB 驅(qū)動(dòng)程序中讀寫(xiě)接口才能成功被調(diào)用。

各種隨身智能數(shù)碼設(shè)備的誕生為人們帶來(lái)了便利,但眾多設(shè)備之間的數(shù)據(jù)互連傳遞正在成為嵌入式開(kāi)發(fā)的難題。USB 是現(xiàn)今PC領(lǐng)域廣泛運(yùn)用的總線(xiàn)接口技術(shù),在一些嵌入式系統(tǒng)中,人們希望有USB 的出現(xiàn),然而和系統(tǒng)其他模塊相比,USB 模塊顯得更加的復(fù)雜。本文詳細(xì)闡述了設(shè)計(jì)一個(gè)USB 主機(jī)系統(tǒng)的過(guò)程,綜合考慮USB 協(xié)議,USB 硬件連接和μC/OS-II 系統(tǒng)使軟件易于維護(hù),移植型強(qiáng)。

USB 嵌入式開(kāi)發(fā)

相關(guān)閱讀

暫無(wú)數(shù)據(jù)

一周熱門(mén)