新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于S3C2440的WindML圖形驅(qū)動設計

基于S3C2440的WindML圖形驅(qū)動設計

作者: 時間:2010-10-19 來源:網(wǎng)絡 收藏


2D層與圖形驅(qū)動程序通過ugL_ugi_driver結(jié)構(gòu)進行通信。結(jié)構(gòu)中的每一個功能指針對應一個執(zhí)行相應圖形顯示操作的驅(qū)動程序。2D層不直接調(diào)用驅(qū)動程序,它通過結(jié)構(gòu)功能指針調(diào)用驅(qū)動程序。實現(xiàn)如下:

VxWorks操作系統(tǒng)下,所有的設備必須通過調(diào)用xxxDevCreate()程序創(chuàng)建。這個函數(shù)是設備驅(qū)動以及設備最初功能的主要入口,uglInit-ialize()程序在WindML初始化時調(diào)用xxxDevCreate()。xxxDevCreate()程序需要完成以下功能:
(1)分配驅(qū)動圖形結(jié)構(gòu)。該結(jié)構(gòu)已在驅(qū)動頭文件里定義。
(2)利用硬件抽象層打開圖形設備。分配了驅(qū)動結(jié)構(gòu)之后,硬件抽象層將被用來打開圖形設備,校驗是否能被寫入和映射設備到虛擬內(nèi)存。在此過程中,圖形設備的基地址和寄存器將被定義。
(3)初始化驅(qū)動控制結(jié)構(gòu)。在確定圖形設備可以被訪問之后,初始化驅(qū)動控制結(jié)構(gòu)。
(4)設置設備為靜止狀態(tài)。校驗了設備之后,驅(qū)動對圖形設備進行最小初始化,并設置其為靜止狀態(tài)。圖形設備設置為靜止狀態(tài)需要以下操作:屏蔽圖形相關(guān)中斷;調(diào)用uglGenericClutCreate()初始化調(diào)色板;初始化圖形芯片的內(nèi)存控制器;如果需要,則關(guān)閉顯示。
(5)返回指向驅(qū)動結(jié)構(gòu)的指針。如果xxxDevCreate()函數(shù)執(zhí)行成功,則返回一個指向ugl_ugi_driver結(jié)構(gòu)的指針。如果xxxDevCreate()函數(shù)執(zhí)行失敗,則返回NULL。
此外,驅(qū)動程序還必須支持一個信息控制程序,xxxinfo()。這個程序允許應用訪問驅(qū)動提供的支持,并且控制各種選項。在獲得畫面緩沖器的特征、獲得基色的信息和以為圖形設備擴展一個實例等方面會用到xxxinfo()。

3 鍵盤驅(qū)動程序設計
基于I2C總線鍵盤芯片ZLG7290的芯片內(nèi)部已實現(xiàn)鍵盤去抖動及連擊鍵等處理,簡化了驅(qū)動程序的處理。WindML輸入設備驅(qū)動負責完成接收連接在系統(tǒng)上設備的原始數(shù)據(jù),執(zhí)行原始數(shù)據(jù)的轉(zhuǎn)換,以及將輸入數(shù)據(jù)放到消息隊列中供高層軟件調(diào)用,如圖3所示。



關(guān)鍵詞: 音頻

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉