基于嵌入式的故障診斷專家系統(tǒng)驅(qū)動(dòng)程序設(shè)計(jì)
2.2 Windows CE.Net的驅(qū)動(dòng)模型
Windows CE.Net所有驅(qū)動(dòng)都以動(dòng)態(tài)鏈接庫(DLL)的形式存在,在驅(qū)動(dòng)的實(shí)現(xiàn)過程中可以調(diào)用Windows CE.Net支持的所有標(biāo)準(zhǔn)API函數(shù)。
Windows CE.Net的驅(qū)動(dòng)程序有2種模型:本機(jī)設(shè)備驅(qū)動(dòng)程序和流接口設(shè)備驅(qū)動(dòng)程序。
1)本機(jī)設(shè)備驅(qū)動(dòng) 在Windows CE.Net中.通用LED驅(qū)動(dòng)、電源驅(qū)動(dòng)、顯示驅(qū)動(dòng)、鍵盤驅(qū)動(dòng)等都可以用本機(jī)設(shè)備驅(qū)動(dòng)來開發(fā)。微軟提供了定制接口的方式來支持內(nèi)部設(shè)備驅(qū)動(dòng)程序,這意味著絕大多數(shù)開發(fā)人員不必大量地編寫本機(jī)設(shè)備驅(qū)動(dòng)代碼。但把Windows CE.Net定制到新平臺(tái)的原始設(shè)備制造商(OEM)除外,它們可以創(chuàng)建自己的本機(jī)設(shè)備驅(qū)動(dòng)程序到新的平臺(tái)。通常,當(dāng)Windows CE.Net系統(tǒng)啟動(dòng)時(shí),本機(jī)設(shè)備驅(qū)動(dòng)程序就被加載到系統(tǒng)的內(nèi)存中。
2)流接口驅(qū)動(dòng)程序 在Windows CE.Net中,流接口驅(qū)動(dòng)程序以DLL形式存在,是運(yùn)行在用戶模式下的動(dòng)態(tài)連接庫,由一個(gè)叫做設(shè)備管理程序的特殊應(yīng)用程序加載、管理和卸載。與具有單獨(dú)目的接口的內(nèi)部設(shè)備驅(qū)動(dòng)程序相比,所有流接口驅(qū)動(dòng)程序使用同一個(gè)接口并調(diào)用同一個(gè)函數(shù)集——流接口函數(shù)。流接口驅(qū)動(dòng)程序的主要任務(wù)是把外設(shè)的使用傳遞給應(yīng)用程序,這是通過把設(shè)備表示為文件系統(tǒng)的一個(gè)特殊文件實(shí)現(xiàn)的。在流接口驅(qū)動(dòng)程序模型中,應(yīng)用程序通過文件系統(tǒng)的API函數(shù)調(diào)用流接口函數(shù),然后由流接口驅(qū)動(dòng)程序調(diào)用本機(jī)驅(qū)動(dòng)或者通過設(shè)備管理器與系統(tǒng)內(nèi)核或外圍設(shè)備打交道。每個(gè)流接口驅(qū)動(dòng)程序必須實(shí)現(xiàn)一組標(biāo)準(zhǔn)的函數(shù),用來完成標(biāo)準(zhǔn)的文件I/O函數(shù)和電源管理函數(shù),這些函數(shù)提供給Windows CE.Net操作系統(tǒng)的內(nèi)核使用。一般,這些函數(shù)被稱為流接口驅(qū)動(dòng)程序的DLL接口。
3 驅(qū)動(dòng)程序的開發(fā)
在Windows CE嵌入式系統(tǒng)的平臺(tái)開發(fā)中,設(shè)備驅(qū)動(dòng)程序的開發(fā)是其很重要的一部分,它們用于驅(qū)動(dòng)嵌入式系統(tǒng)硬件平臺(tái)上的各個(gè)設(shè)備接口。下面針對(duì)在項(xiàng)目中完成的幾個(gè)主要的設(shè)備驅(qū)動(dòng),來了解一下具體設(shè)備驅(qū)動(dòng)程序的開發(fā)過程。
3.1 觸摸屏
在嵌入式故障診斷專家系統(tǒng)中,為了方便用戶輸入數(shù)據(jù),進(jìn)行方便的人機(jī)交互,觸摸屏是必不可少。觸摸屏按技術(shù)原理分為:電熔電感觸摸屏、紅外線觸摸屏、電阻式觸摸屏、矢量壓力傳感式觸摸屏等。S3C2410的觸摸屏采用的是電阻式觸摸屏。S3C2410支持觸摸屏接口,它由一個(gè)觸摸屏面板,四個(gè)外部晶體管,一個(gè)外部電源,通道AIN[7]及通道AIN[5]等組成,觸摸屏接口如圖l所示。主要的設(shè)計(jì)流程如圖2所示。本文引用地址:http://m.butianyuan.cn/article/151575.htm
評(píng)論