基于Windows CE的OLED驅(qū)動(dòng)程序設(shè)計(jì)與實(shí)現(xiàn)[2]

交換技術(shù)與網(wǎng)絡(luò)管控 責(zé)任編輯:zhuziyun 2012-04-06

摘要:3.1設(shè)備驅(qū)動(dòng)程序模型WindowsCE提供了用于驅(qū)動(dòng)開發(fā)的模型,其中包括來自其他操作系統(tǒng)的驅(qū)動(dòng)程序模型。因?yàn)橛羞@些多變的驅(qū)動(dòng)程序模型,使WindowsCE可以適應(yīng)大部分的內(nèi)部和外圍設(shè)備。目前,WindowsCE提供了4種設(shè)備模型,其中兩種是專用于WindowsCE模型,另外兩種外部模型來自其他的操作系統(tǒng)。3.2本機(jī)驅(qū)動(dòng)程序要把WindowsC


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)。

3.2 本機(jī)驅(qū)動(dòng)程序

要把Windows CE 移植到目標(biāo)平臺(tái)上, 必須為平臺(tái)上已建立的設(shè)備提供驅(qū)動(dòng)程序。一些類型的設(shè)備, 如鍵盤、顯示器和PC 卡插槽等對操作系統(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)程序。

3.3 流接口驅(qū)動(dòng)程序

流接口驅(qū)動(dòng)程序由設(shè)備管理應(yīng)用程序加載、管理和卸載, 與具有單獨(dú)目的接口的本機(jī)驅(qū)動(dòng)程序相比, 所有流接口驅(qū)動(dòng)程序使用同一個(gè)接口并調(diào)用同一個(gè)函數(shù)集---流接口函數(shù)。流接口驅(qū)動(dòng)程序把外設(shè)抽 象成一個(gè)文件, 使用標(biāo)準(zhǔn)文件I/O 函數(shù)和電源管理函數(shù), 這些函數(shù)由Windows CE 操作系統(tǒng)的內(nèi)核使用。流接口驅(qū)動(dòng)程序的入口點(diǎn)函數(shù)為: XXX_ Init、XXX_Deinit、XXX_IOCONtrol、XXX_Open 、 XXX_Close 、XXX_PowerDown 、XXX_PowerUp 、XXX_Read 、XXX_Seek 、XXX_Write.

流接口驅(qū)動(dòng)程序從設(shè)備管理器和通過文件系統(tǒng)調(diào)用的應(yīng)用程序接受命令, 裝入驅(qū)動(dòng)將這些命令翻譯成其所控制設(shè)備的適當(dāng)操作的所有信息。所有的流接口驅(qū)動(dòng), 無論它管理的是內(nèi)置式設(shè)備還是可安裝 式設(shè)備, 是系統(tǒng)引導(dǎo)加載還是動(dòng)態(tài)加載, 它們與其他的系統(tǒng)組件都有類似的交互過程。

3.4 設(shè)備驅(qū)動(dòng)程序的初始化過程

在Windows CE 中, 所有的設(shè)備驅(qū)動(dòng)程序都以動(dòng)態(tài)鏈接庫(DLL) 的形式存在, 需要通過進(jìn)程加載。設(shè)備驅(qū)動(dòng)程序向外提供接口函數(shù), 應(yīng)用程序使用API 對設(shè)備進(jìn)行訪問。Windows CE 共有三類系統(tǒng)進(jìn) 程用來加載驅(qū)動(dòng)程序:Device.exe 、GWES.exe 、FileSys.exe .驅(qū)動(dòng)程序的初始化過程為:設(shè)備上電---啟動(dòng)bootloader---啟動(dòng)NK.exe---啟動(dòng)Device.exe---初始化數(shù)據(jù)結(jié)構(gòu)和I/O---加載總線枚舉器- --枚舉注冊表Driver/BuildIn 下所有的子鍵。這里的枚舉就是循環(huán)調(diào)用ActivateDeviceEx 函數(shù)加載驅(qū)動(dòng)程序。

4 Windows CE 開發(fā)流接口驅(qū)動(dòng)程序?qū)嵗?/b>

以維信諾VGG13264C 132×64 OLED 顯示模塊的驅(qū)動(dòng)程序?yàn)槔?具體闡述Windows CE 驅(qū)動(dòng)開發(fā)的過程。

[1]  [2]  [3]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

通信工程師備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

距離2025 通信工程師考試

還有
  • 3
  • 1
  • 3
!
咨詢在線老師!