日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > EDA > 電子設計自動化
[導讀] 隨著計算機技術和嵌入式技術的迅猛發(fā)展, 嵌入式軟、硬件設計需求越來越廣泛, 嵌入式軟件開發(fā), 特別是嵌入式軟件的驅動開發(fā),成為一個熱點。Windows CE是一個新的、可移植的、實時的、模塊化的操作系統(tǒng),具有簡捷

 隨著計算機技術和嵌入式技術的迅猛發(fā)展, 嵌入式軟、硬件設計需求越來越廣泛, 嵌入式軟件開發(fā), 特別是嵌入式軟件的驅動開發(fā),成為一個熱點。

Windows CE是一個新的、可移植的、實時的、模塊化的操作系統(tǒng),具有簡捷、高效的完全搶先式多任務操作核心,支持強大的通信和圖形顯示功能, 能夠適應廣泛的系統(tǒng)需求, 在最新一代的工業(yè)和家用電子設備中得到了廣泛的應用。

在進行嵌入式Windows CE 項目開發(fā)的過程中, 經(jīng)常需要根據(jù)需求定制顯示屏, 如何為定制的顯示屏開發(fā)Windows CE 驅動程序成為嵌入式系統(tǒng)開發(fā)的關鍵步驟。本文在深入研究Windows CE 驅動程序工作原理的基礎上, 以維信諾VGG13264C 132×64 OLED 顯示模塊的WindowsCE 驅動程序設計為例, 詳細闡述了嵌入式Windows CE 驅動程序的開發(fā)過程,并對設計實現(xiàn)的驅動程序進行了測試。

1 Window CE 的系統(tǒng)體系結構

Windows CE 是微軟設計開發(fā)的一種可升級的搶先式多任務32 位實時操作系統(tǒng)。一個基于Windows CE 的平臺主要由以下幾部分組成:Windows CE 內核組件、OAL 層和驅動程序。OAL 層和驅動程序作為目標設備和Windows CE 內核組件之間的接口, 將操作系統(tǒng)上層與硬件隔離, 便于支持硬件擴展和即插即用功能,圖1 詳細描述了三者之間的關系。

2 Windows CE 中斷處理

Windows CE 將中斷處理分為兩個步驟: 中斷服務例程(ISR)和中斷服務線程(IST)。把每個硬件的設備中斷請求(IRQ) 和一個ISR 聯(lián)系起來, 當一個中斷發(fā)生并未被屏蔽時,內核調用該中斷注冊的ISR.因為ISR 運行于內核模式, 所以應設計得盡可能短,ISR 引導內核調度和啟動合適的IST,IST 在設備驅動程序軟件模塊中編寫, 運行于用戶模式, 它從硬件獲取或向硬件發(fā)送數(shù)據(jù)和控制代碼, 并進一步處理設備中斷。Windows CE 還提供了中斷嵌套功能, 即在一個ISR 運行時, 內核并不關閉中斷, 當優(yōu)先級比之高的中斷發(fā)生時,內核保存當前執(zhí)行的中斷服務例程ISR 的運行狀態(tài), 掛起該ISR,轉而執(zhí)行更高優(yōu)先級中斷的ISR.等到高優(yōu)先級中斷的ISR執(zhí)行完后,被掛起的低優(yōu)先級中斷的ISR 才重新開始被CPU 調度執(zhí)行。Windows CE 的中斷處理框圖如圖2 所示。

3 Windows CE 設備驅動程序

設備驅動程序將操作系統(tǒng)和設備連接起來, 使操作系統(tǒng)能夠識別設備, 并為應用程序提供服務。

3.1 設備驅動程序模型

Windows CE 提供了用于驅動開發(fā)的模型,其中包括來自其他操作系統(tǒng)的驅動程序模型。

因為有這些多變的驅動程序模型, 使Windows CE可以適應大部分的內部和外圍設備。目前,Windows CE提供了4 種設備模型,其中兩種是專用于Windows CE模型, 另外兩種外部模型來自其他的操作系統(tǒng), 匯總如圖3 所示。

3.2 本機驅動程序

要把Windows CE 移植到目標平臺上, 必須為平臺上已建立的設備提供驅動程序。一些類型的設備, 如鍵盤、顯示器和PC 卡插槽等對操作系統(tǒng)都有一個自定義接口。因為這些接口是專門用于Windows CE 的,所以稱這類驅動程序為本機驅動程序。Windows CE 平臺生成器提供本機設備驅動程序的樣本,可考慮把本機設備驅動程序樣本應用到平臺上, 而不需要再從頭開發(fā)自己的本機驅動程序。用戶可根據(jù)驅動程序樣本快速開發(fā)自己的驅動程序。

3.3 流接口驅動程序

流接口驅動程序由設備管理應用程序加載、管理和卸載,與具有單獨目的接口的本機驅動程序相比,所有流接口驅動程序使用同一個接口并調用同一個函數(shù)集---流接口函數(shù)。流接口驅動程序把外設抽象成一個文件, 使用標準文件I/O 函數(shù)和電源管理函數(shù), 這些函數(shù)由Windows CE 操作系統(tǒng)的內核使用。流接口驅動程序的入口點函數(shù)為: XXX_ Init、XXX_Deinit、XXX_IOCONtrol、XXX_Open 、XXX_Close 、XXX_PowerDown 、XXX_PowerUp 、XXX_Read 、XXX_Seek 、XXX_Write .流接口驅動程序函數(shù)的作用及調用關系如表1 所示。

表1 Windows CE 下流接口驅動程序函數(shù)作用及調用關系

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

3.4 設備驅動程序的初始化過程

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

4 Windows CE 開發(fā)流接口驅動程序實例

以維信諾VGG13264C 132×64 OLED 顯示模塊的驅動程序為例, 具體闡述Windows CE 驅動開發(fā)的過程。

4.1 硬件結構

系統(tǒng)硬件以飛凌OK6410-B 開發(fā)板為主板, 以維信諾VGG13264C 顯示模塊為OLED 顯示屏。系統(tǒng)硬件框圖如圖4 所示。

飛凌OK6410 -B 開發(fā)板基于三星公司最新的ARM11 處理器S3C6410 , 擁有強大的內部資源和視頻處理能力,可穩(wěn)定運行在667 MHz 主頻以上, 支持MobileDDR 和多種NAND Flash .FL6410 開發(fā)板上集成了多種高端接口, 如復合視頻信號、攝像頭、USB、SD 卡、液晶屏、以太網(wǎng)等, 豐富的接口可幫助用戶實現(xiàn)高端產(chǎn)品級設計。

維信諾VGG13264C 是132 列×64 行點陣的OLED 單色、字符、圖形顯示模塊, 使用單芯片SSD1303T6 進行驅動,具有8 位并行數(shù)據(jù)接口, 模塊內含132×64 顯示數(shù)據(jù)RAM, 通過用戶I/O 接口連接到飛凌OK6410-B 開發(fā)板。

4.2 流接口驅動程序開發(fā)過程

Windows CE 提供了兩種編寫流接口驅動的方法:

(1) 通過編寫動態(tài)鏈接庫的方法實現(xiàn); (2) 通過修改BSP的方法實現(xiàn)。由于第二種方法可以加快開發(fā)進度, 在該實例中,使用修改BSP 的方法進行流接口驅動程序開發(fā), 其開發(fā)步驟為: 首先在BSP 中新建一個目錄,編寫驅動程序文件并確定驅動程序向外提供的接口函數(shù),然后進行注冊表設置, 最后進行測試。

(1) 驅動程序代碼編寫

設備初始化使用OED_Init 函數(shù)實現(xiàn), 設備卸載使用OED_Deinit 函數(shù)實現(xiàn)。在OED_Init 函數(shù)中,使用DrvLib_MapIoSpace 函數(shù)實現(xiàn)物理地址到虛擬地址映射;在OED_Deinit 函數(shù)中, 使用VirtualFree 函數(shù)釋放驅動程序使用的虛擬內存從而實現(xiàn)了設備的卸載。

設備的I/O 控制向設備發(fā)出命令, 按照維信諾VGG13264C OLED 顯示模塊的時序關系,通過控制相應管腳的電平高低實現(xiàn)向設備發(fā)出命令。設備的I/O 控制在OED_IOControl 函數(shù)中實現(xiàn), 函數(shù)部分代碼如下:

(2) 向外提供函數(shù)接口

通過配置OED.def 文件導出OLED 提供的接口函數(shù), 供設備管理器使用。在OED.def 文件中添加如下代碼:

(3) 注冊表配置。

注冊表文件Platform. reg 用來配置與OLED 驅動有關的信息, 配置如下:

[HKEY_LOCAL_MACHINEDriversBuiltInIoControler]

"Prefix "="OED"

"Dll "="OED.dll "

"Index "=dword:0

隨著嵌入式系統(tǒng)廣泛應用到信息家電、工業(yè)控制、移動通信、互聯(lián)網(wǎng)等領域,大量嵌入式系統(tǒng)的開發(fā)必將對人類科技的發(fā)展起著重要的作用。本文介紹的基于嵌入式操作系統(tǒng)Windows CE 的驅動程序會幫助讀者開發(fā)出更多的嵌入式系統(tǒng)產(chǎn)品。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉