<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DSP/BIoS設備驅動(dòng)模型的視頻驅動(dòng)程序開(kāi)發(fā)

基于DSP/BIoS設備驅動(dòng)模型的視頻驅動(dòng)程序開(kāi)發(fā)

作者: 時(shí)間:2009-05-06 來(lái)源:網(wǎng)絡(luò ) 收藏

通過(guò)給外部設備編寫(xiě)程序是一種有效的控制外設的方法。隨著(zhù)的應用越來(lái)越廣泛,實(shí)時(shí)系統的日趨復雜及新技術(shù)的出現,處理器所連接的外部設備也是種類(lèi)繁多,各不相同,而每一個(gè)外設都需要一個(gè)特定的程序來(lái)支持外設的正常工作,這就要為每一個(gè)外設編寫(xiě)程序,這是一項十分繁雜的工作。如何能夠使系統開(kāi)發(fā)人員從這些編寫(xiě)繁雜的驅動(dòng)程序工作中解脫出來(lái),進(jìn)而能夠專(zhuān)心投入到應用程序的開(kāi)發(fā)中呢?TI公司提出了DSP/BIOS的,該分為兩層:類(lèi)驅動(dòng)即與硬件不相關(guān)的層和微型驅動(dòng)即與硬件相關(guān)的層。使用這種結構,應用程序只需調用類(lèi)驅動(dòng)的API函數,通過(guò)類(lèi)驅動(dòng)使用微型驅動(dòng),用微型驅動(dòng)來(lái)控制外設。這種結構,將驅動(dòng)程序合理分層,使得驅動(dòng)程序模塊化,可移植性、復用性大大增強,縮短了驅動(dòng)程序的開(kāi)發(fā)時(shí)間。

本文引用地址:http://dyxdggzs.com/article/152508.htm

1 DSP/BIOS

1.1 類(lèi)/微型驅動(dòng)模型

DSP/BIOS是TI公司所設計開(kāi)發(fā)的一個(gè)尺寸可裁剪的實(shí)時(shí)多任務(wù)操作系統內核,通過(guò)使用DSP/BIOS提供的豐富的內核服務(wù),開(kāi)發(fā)者能快速地創(chuàng )建滿(mǎn)足實(shí)時(shí)性能要求的精細復雜的多任務(wù)應用程序。為了使開(kāi)發(fā)更加簡(jiǎn)單方便,提出了DSP/BIOS DeviceDriver Kit,定義了標準的,一種將設備驅動(dòng)分為與硬件無(wú)關(guān)和與硬件相關(guān)的雙層結構,這樣就使開(kāi)發(fā)驅動(dòng)程序不像以前那樣復雜了,為開(kāi)發(fā)者提供了便利。這兩層結構稱(chēng)為“類(lèi)/微型驅動(dòng)模型,它們每一層都有各自通用的接口,所以相似設備驅動(dòng)程序的主要部分可以復用,驅動(dòng)代碼的移植成為可能,使開(kāi)發(fā)驅動(dòng)的過(guò)程大大簡(jiǎn)化。

與硬件無(wú)關(guān)的層稱(chēng)為類(lèi)驅動(dòng)(Class Driver),它處在應用程序與微型驅動(dòng)之間,提供對多線(xiàn)程I/O請求的串行化和同步,并且維護設備數據緩沖區,向上提供API接口供應用程序調用,向下通過(guò)適配層與微型驅動(dòng)相連,實(shí)現API接口函數到微型驅動(dòng)層的映射。

與硬件相關(guān)的層稱(chēng)為微型驅動(dòng)(Mini-driver),它處在類(lèi)驅動(dòng)與芯片支持庫(Chip Support Library)之間,對于類(lèi)驅動(dòng)的接口是統一的,即每一個(gè)微型驅動(dòng)都為類(lèi)驅動(dòng)和DSP/BIOS設備驅動(dòng)管理提供了標準接口。微型驅動(dòng)采用芯片支持庫(CSL)管理外圍設備的寄存器、內存和中斷資源。但由于硬件是千差萬(wàn)別的,所以微型驅動(dòng)對底層硬件的操作是根據硬件的不同而不同的。對于完成同樣功能的不同外設,只需稍加修改微型驅動(dòng),而不需重新編寫(xiě)驅動(dòng)程序,就可以實(shí)現驅動(dòng)程序的移植與復用,使驅動(dòng)程序的開(kāi)發(fā)過(guò)程大大簡(jiǎn)化。類(lèi)/微型驅動(dòng)模型結構如圖1所示。

1.2 類(lèi)驅動(dòng)
通過(guò)將應用軟件,驅動(dòng)程序分層之后,可以看到,位于頂層的應用程序并不直接與微型驅動(dòng)產(chǎn)生聯(lián)系,而是通過(guò)類(lèi)驅動(dòng)與微型驅動(dòng)連接。每一種類(lèi)驅動(dòng)向上層應用程序提供一個(gè)API接口,并且與微型驅動(dòng)接口進(jìn)行通信。
DSP/BIOS定義了三種類(lèi)驅動(dòng):流輸入輸出模塊(SIO),管道管理模塊(PIP),通用輸入輸出模塊(GIO)。其中,SIO和PIP分別需要使用適配器DIO和PIO來(lái)與微型驅動(dòng)進(jìn)行通信。SIO/DIO是流的I/O模型,使用異步方式來(lái)操作I/O,對于數據的讀寫(xiě)、處理可以同時(shí)進(jìn)行。PIP/PIO是管道的I/O模型,每個(gè)管道維護著(zhù)一個(gè)被劃分為多個(gè)大小相同的幀的緩沖區。GIO類(lèi)驅動(dòng)采用基于流的同步I/O數據傳輸模式,適合大流量數據的傳輸,更適合文件系統。與SIO/DIO和PIP/PIO不同,GIO包含內置的IOM(I/OManager輸入輸出管理)適配層,可以直接與微型驅動(dòng)進(jìn)行通信。
GIO模塊與其他兩個(gè)模塊相比,有一個(gè)很重要的特性,就是可以擴展API函數支持新的應用領(lǐng)域,這樣就實(shí)現了對GIO類(lèi)驅動(dòng)的擴展。這種可擴展API的特性正好可以用在驅動(dòng)開(kāi)發(fā)方面。例如這種擴展可以滿(mǎn)足設備存儲區的需要。另外,在提供了驅動(dòng)和應用程序之間的視頻數據同步機制之后,這種擴展也能夠允許使用一個(gè)單獨的調用來(lái)“交換”視頻緩沖區。這種交換緩沖區的機制對于實(shí)時(shí)視頻信號的采集與顯示是十分重要的。所以,在視頻驅動(dòng)中,我們采用通用輸入輸出模塊GIO。應用程序可以直接地調用GIO API函數和IOM微型驅動(dòng)程序進(jìn)行交互,這些GIO API就可以看作是類(lèi)驅動(dòng)。GIO類(lèi)驅動(dòng)接口如圖2所示。
GIO_create會(huì )為一個(gè)特定的IOM通道實(shí)例創(chuàng )建一個(gè)GIO對象,這是類(lèi)驅動(dòng)使用微型驅動(dòng)的第一步,首先創(chuàng )建對象及IOM通道,然后在此通道上進(jìn)行數據傳輸工作。其結構體類(lèi)型為GIO_Obj:
1.3 微型驅動(dòng)
上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>