基于WinCE的OLED驅(qū)動(dòng)程序設(shè)計(jì)
隨著計(jì)算機(jī)技術(shù)和嵌入式技術(shù)的迅猛發(fā)展, 嵌入式軟、硬件設(shè)計(jì)需求越來越廣泛, 嵌入式軟件開發(fā), 特別是嵌入式軟件的驅(qū)動(dòng)開發(fā), 成為一個(gè)熱點(diǎn)。
本文引用地址:http://butianyuan.cn/article/273004.htmWindows CE 是一個(gè)新的、可移植的、實(shí)時(shí)的、模塊化的操作系統(tǒng),具有簡(jiǎn)捷、高效的完全搶先式多任務(wù)操作核心, 支持強(qiáng)大的通信和圖形顯示功能, 能夠適應(yīng)廣泛的系統(tǒng)需求, 在最新一代的工業(yè)和家用電子設(shè)備中得到了廣泛的應(yīng)用。
在進(jìn)行嵌入式Windows CE 項(xiàng)目開發(fā)的過程中, 經(jīng)常需要根據(jù)需求定制顯示屏, 如何為定制的顯示屏開發(fā)Windows CE 驅(qū)動(dòng)程序成為嵌入式系統(tǒng)開發(fā)的關(guān)鍵步驟。本文在深入研究Windows CE 驅(qū)動(dòng)程序工作原理的基礎(chǔ)上, 以維信諾VGG13264C 132×64 OLED 顯示模塊的WindowsCE 驅(qū)動(dòng)程序設(shè)計(jì)為例, 詳細(xì)闡述了嵌入式Windows CE 驅(qū)動(dòng)程序的開發(fā)過程, 并對(duì)設(shè)計(jì)實(shí)現(xiàn)的驅(qū)動(dòng)程序進(jìn)行了測(cè)試。
1 Window CE 的系統(tǒng)體系結(jié)構(gòu)
Windows CE 是微軟設(shè)計(jì)開發(fā)的一種可升級(jí)的搶先式多任務(wù)32 位實(shí)時(shí)操作系統(tǒng)。一個(gè)基于Windows CE 的平臺(tái)主要由以下幾部分組成:Windows CE 內(nèi)核組件、OAL 層和驅(qū)動(dòng)程序。OAL 層和驅(qū)動(dòng)程序作為目標(biāo)設(shè)備和Windows CE 內(nèi)核組件之間的接口, 將操作系統(tǒng)上層與硬件隔離, 便于支持硬件擴(kuò)展和即插即用功能,圖1 詳細(xì)描述了三者之間的關(guān)系。
2 Windows CE 中斷處理
Windows CE 將中斷處理分為兩個(gè)步驟: 中斷服務(wù)例程(ISR) 和中斷服務(wù)線程(IST)。把每個(gè)硬件的設(shè)備中斷請(qǐng)求(IRQ) 和一個(gè)ISR 聯(lián)系起來, 當(dāng)一個(gè)中斷發(fā)生并未被屏蔽時(shí), 內(nèi)核調(diào)用該中斷注冊(cè)的ISR.因?yàn)镮SR 運(yùn)行于內(nèi)核模式, 所以應(yīng)設(shè)計(jì)得盡可能短,ISR 引導(dǎo)內(nèi)核調(diào)度和啟動(dòng)合適的IST,IST 在設(shè)備驅(qū)動(dòng)程序軟件模塊中編寫, 運(yùn)行于用戶模式, 它從硬件獲取或向硬件發(fā)送數(shù)據(jù)和控制代碼, 并進(jìn)一步處理設(shè)備中斷。Windows CE 還提供了中斷嵌套功能, 即在一個(gè)ISR 運(yùn)行時(shí), 內(nèi)核并不關(guān)閉中斷, 當(dāng)優(yōu)先級(jí)比之高的中斷發(fā)生時(shí), 內(nèi)核保存當(dāng)前執(zhí)行的中斷服務(wù)例程ISR 的運(yùn)行狀態(tài), 掛起該ISR,轉(zhuǎn)而執(zhí)行更高優(yōu)先級(jí)中斷的ISR.等到高優(yōu)先級(jí)中斷的ISR執(zhí)行完后, 被掛起的低優(yōu)先級(jí)中斷的ISR 才重新開始被CPU 調(diào)度執(zhí)行。Windows CE 的中斷處理框圖如圖2 所示。
3 Windows CE 設(shè)備驅(qū)動(dòng)程序
設(shè)備驅(qū)動(dòng)程序?qū)⒉僮飨到y(tǒng)和設(shè)備連接起來, 使操作系統(tǒng)能夠識(shí)別設(shè)備, 并為應(yīng)用程序提供服務(wù)。
3.1 設(shè)備驅(qū)動(dòng)程序模型
Windows CE 提供了用于驅(qū)動(dòng)開發(fā)的模型,其中包括來自其他操作系統(tǒng)的驅(qū)動(dòng)程序模型。
因?yàn)橛羞@些多變的驅(qū)動(dòng)程序模型, 使Windows CE可以適應(yīng)大部分的內(nèi)部和外圍設(shè)備。目前,Windows CE提供了4 種設(shè)備模型, 其中兩種是專用于Windows CE模型, 另外兩種外部模型來自其他的操作系統(tǒng), 匯總?cè)鐖D3 所示。
3.2 本機(jī)驅(qū)動(dòng)程序
要把Windows CE 移植到目標(biāo)平臺(tái)上, 必須為平臺(tái)上已建立的設(shè)備提供驅(qū)動(dòng)程序。一些類型的設(shè)備, 如鍵盤、顯示器和PC 卡插槽等對(duì)操作系統(tǒng)都有一個(gè)自定義接口。因?yàn)檫@些接口是專門用于Windows CE 的, 所以稱這類驅(qū)動(dòng)程序?yàn)楸緳C(jī)驅(qū)動(dòng)程序。Windows CE 平臺(tái)生成器提供本機(jī)設(shè)備驅(qū)動(dòng)程序的樣本, 可考慮把本機(jī)設(shè)備驅(qū)動(dòng)程序樣本應(yīng)用到平臺(tái)上, 而不需要再從頭開發(fā)自己的本機(jī)驅(qū)動(dòng)程序。用戶可根據(jù)驅(qū)動(dòng)程序樣本快速開發(fā)自己的驅(qū)動(dòng)程序。
逆變器相關(guān)文章:逆變器原理
可控硅相關(guān)文章:可控硅工作原理
逆變器相關(guān)文章:逆變器工作原理
比較器相關(guān)文章:比較器工作原理
評(píng)論