日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于WinCE6.0的LPC3250串口驅動程序開發(fā)

          基于WinCE6.0的LPC3250串口驅動程序開發(fā)

          作者: 時間:2014-01-08 來源:網絡 收藏
          引 言

          Windows CE是一個開放的、可升級、可裁減的32位實時嵌入式操作系統(tǒng),具有可靠性好、實時性高、內核體積小的特點,廣泛應用于工業(yè)控制、信息家電、移動通信、汽車電子、個人電子消費品等領域。最新版本Windows Em-bedded CE 6.0于2006年11月發(fā)布,其特點有:最大進程數量到32K,且每個進程有最大2 GB的虛擬內存空間;將關鍵的驅動程序、文件系統(tǒng)和圖形界面管理器移到了內核中,大大減少了CPU在內核態(tài)和用戶態(tài)間切換造成的性能損失等。 是NXP半導體公司(由Philips公司成立)推出的帶有矢量浮點協(xié)處理器的ARM926EJ-SCPU內核的微控制器。它具有豐富的外圍接口,包括7個UART,其中4個是標準UART,另外3個是高速UART,都帶有64字節(jié)的接收和發(fā)送FIFO,最高可支持的速率達921 600 b/s。為了實現(xiàn)低功耗,采用NXP半導體先進的開發(fā)技術來優(yōu)化內在功率,并使用增強型的軟件控制結構使基于功率管理的應用得到優(yōu)化。在同時要求高性能和低功耗的嵌入式應用中,運行Win-dows CE的平臺將會有很好的市場前景,對于最常用到的串口的驅動開發(fā)顯得尤為重要。

          1 WindOWS CE的模型

          基于Windows CE有兩種驅動程序模型:本機設備驅動程序和流接口驅動程序。就屬于分層的流接口驅動程序。分層驅動程序將設備的驅動程序分為兩層:平臺相關驅動 PDD(Platform Dependence Driver)層和模型設備驅動MDD(Model Device Driver)層。PDD層由特定于給定硬件設備或平臺的代碼組成,很多時候用戶需要根據具體平臺修改;MDD層包含平臺無關的代碼,它通過實現(xiàn)一些操作系統(tǒng)預先定義的接口來實現(xiàn)某一類設備的通用功能,通常由微軟提供。操作系統(tǒng)與MDD層之間通過DDI(設備驅動接口)進行交互。MDD層也實現(xiàn)了中斷處理線程IST,并定義一些與PDD層的接口函數,這些接口函數稱為DDSI(設備驅動服務接口)。

          用%_WinCEROOT%來表示Windows CE的安裝根目錄,符合‘550工業(yè)規(guī)范的源碼主要位于\%_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\SERIAL下,主要看表1所列的一些重要文件。

          基于WinCE6.0的LPC3250串口驅動程序開發(fā)

          如圖1所示,串口應用程序通過設備管理器調用mdd.c中MDD層的標準流設備驅動接口COM_XXX,在COM_XXX中通過結構體 HW_INDEP_INFO中HWOBJ結構體調用串口硬件操作函數HWxxx;然后在cserpdd.cpp中GetSeri-alObject函數通過HW_VTBL類型數組IoVTb1將HWxxx映射為Serxxx系列函數,Serxxx系列函數則調用CSerialPDD類中的成員函數(其中的純虛函數由CserialP-DD的繼承類CP-dd16550實現(xiàn),真正與物理底層操作的是CPdd16550的數據成員CReg16550中的 Write_XXX、Read_XXX函數);最終通過調用WRITE_PORT_UCHAR和READ_PORT_UCHAR系統(tǒng)函數來實現(xiàn)。

          基于WinCE6.0的LPC3250串口驅動程序開發(fā)


          2 WinCE6.0下的LPC3250串口驅動程序開發(fā)

          Windows CE的串口驅動程序開發(fā)中最重要的是兩點:配置串口相關的寄存器和處理中斷。配置寄存器,包括實現(xiàn)與物理底層操作的函數,將寄存器地址映射到內核進程的虛擬地址,在串口操作的不同階段配置好各種寄存器;處理中斷,包括將物理中斷映射為系統(tǒng)中斷,將中斷與事件綁定,中斷發(fā)生時進行相應的中斷處理。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉