基于DSP/BIoS設備驅動模型的視頻驅動程序開發(fā)
通過給外部設備編寫驅動程序是一種有效的控制外設的方法。隨著DSP的應用越來越廣泛,DSP實時系統(tǒng)的日趨復雜及新技術的出現(xiàn),DSP處理器所連接的外部設備也是種類繁多,各不相同,而每一個外設都需要一個特定的驅動程序來支持外設的正常工作,這就要為每一個外設編寫驅動程序,這是一項十分繁雜的工作。如何能夠使系統(tǒng)開發(fā)人員從這些編寫繁雜的驅動程序工作中解脫出來,進而能夠專心投入到應用程序的開發(fā)中呢?TI公司提出了基于DSP/BIOS的設備驅動模型,該模型分為兩層:類驅動即與硬件不相關的層和微型驅動即與硬件相關的層。使用這種結構,應用程序只需調(diào)用類驅動的API函數(shù),通過類驅動使用微型驅動,用微型驅動來控制外設。這種結構,將驅動程序合理分層,使得驅動程序模塊化,可移植性、復用性大大增強,縮短了驅動程序的開發(fā)時間。
本文引用地址:http://www.biyoush.com/article/152508.htm1.1 類/微型驅動模型
DSP/BIOS是TI公司所設計開發(fā)的一個尺寸可裁剪的實時多任務操作系統(tǒng)內(nèi)核,通過使用DSP/BIOS提供的豐富的內(nèi)核服務,開發(fā)者能快速地創(chuàng)建滿足實時性能要求的精細復雜的多任務應用程序。為了使開發(fā)設備驅動更加簡單方便,提出了DSP/BIOS DeviceDriver Kit,定義了標準的設備驅動模型,一種將設備驅動分為與硬件無關和與硬件相關的雙層結構,這樣就使開發(fā)驅動程序不像以前那樣復雜了,為開發(fā)者提供了便利。這兩層結構稱為“類/微型驅動模型,它們每一層都有各自通用的接口,所以相似設備驅動程序的主要部分可以復用,驅動代碼的移植成為可能,使開發(fā)驅動的過程大大簡化。
與硬件無關的層稱為類驅動(Class Driver),它處在應用程序與微型驅動之間,提供對多線程I/O請求的串行化和同步,并且維護設備數(shù)據(jù)緩沖區(qū),向上提供API接口供應用程序調(diào)用,向下通過適配層與微型驅動相連,實現(xiàn)API接口函數(shù)到微型驅動層的映射。
與硬件相關的層稱為微型驅動(Mini-driver),它處在類驅動與芯片支持庫(Chip Support Library)之間,對于類驅動的接口是統(tǒng)一的,即每一個微型驅動都為類驅動和DSP/BIOS設備驅動管理提供了標準接口。微型驅動采用芯片支持庫(CSL)管理外圍設備的寄存器、內(nèi)存和中斷資源。但由于硬件是千差萬別的,所以微型驅動對底層硬件的操作是根據(jù)硬件的不同而不同的。對于完成同樣功能的不同外設,只需稍加修改微型驅動,而不需重新編寫驅動程序,就可以實現(xiàn)驅動程序的移植與復用,使驅動程序的開發(fā)過程大大簡化。類/微型驅動模型結構如圖1所示。


評論