<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Windows CE.net的智能移動(dòng)信息終端設計

Windows CE.net的智能移動(dòng)信息終端設計

作者: 時(shí)間:2005-04-04 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:給出一種以Intel PXA263微處理器為核心芯片,基于 嵌入式操作系統的方法。首先介紹Intel PXA263微處理器的性能,給出自行開(kāi)發(fā)硬件平臺(Wind_Rain板)的結構框圖,然后分析 的一般開(kāi)發(fā)流程,并以Wind_Rain硬件平臺為例,給出 開(kāi)發(fā)的具體步驟。試驗測試表明,該系統具有功能強、可靠性高、穩定性好、功耗低、攜帶方便等優(yōu)點(diǎn),具有良好的應用前景。

關(guān)鍵詞:PXA263處理器 Windwos CE.net 嵌入式開(kāi)發(fā)

引言

近年來(lái),Internet與網(wǎng)絡(luò )的應用迅速普及,并向家庭領(lǐng)域不斷擴展,使消費電子、計算機、通信一體化趨勢日趨明顯,嵌入式系統再度成為研究與應用的熱點(diǎn)??梢灶A見(jiàn),伴隨著(zhù)需求的增長(cháng),有著(zhù)體積小、耗能低、應用靈活、功能強大、可靠性強等諸多優(yōu)點(diǎn)的嵌入式系統定會(huì )有無(wú)法估計的應用前景。Intel XScale PXA263是一種十分先進(jìn)的嵌入式處理器,采用XScale核心,頻率為200~400MHz,加強了微處理器速度的管理,加快了多媒體處理的速度,并支持802.11b及藍牙技術(shù)、USB接口。Intel的XScale技術(shù)將手持設備的功能推上了一個(gè)新的高度,其電源管理 能力提供了無(wú)與倫比的操作效率。配合Microsoft的嵌入式操作系統Windows CE.net,將進(jìn)一步提升系統的整體性能。本文將通過(guò)一個(gè)具體的例子介紹一種基于Intel PXA263處理器和Windows CE.net操作系統的軟件平臺的方法。

1 硬件平臺的構建

1.1 Intel PXA263處理器

Intel PXA263處理器是Intel公司最新推出的一款嵌入式微處理器。Intel PXA263處理器基于Intel多晶片產(chǎn)品(MCP)封裝技術(shù),也是第一套創(chuàng )新堆棧式處理器。它整合了32位的32MB Intel StrataFlash內存與含Intel Xscale技術(shù)的處理器,比其它分離(stand alone)型產(chǎn)品節省72%的空間,能夠在體積更小的單系統封裝內提供更強大的運算與內存功能。同時(shí),能減少產(chǎn)品使用的組件數量,讓制造商開(kāi)發(fā)出新型與獨特功能的產(chǎn)品,其中包括執行各種效能密集應用,例如,MPEG4影片解碼、語(yǔ)音與手寫(xiě)識別及游戲等。以上這些特點(diǎn)使得Intel PXA263更加適合在體積和功耗要求較嚴的設備中使用。

1.2 硬件平臺的設計

移動(dòng)采用Microsoft的Windows CE.net嵌入式操作系統,能夠通過(guò)CCD攝像頭實(shí)現圖像的輸入,也可以通過(guò)觸摸屏實(shí)現輸入,同時(shí)能夠通過(guò)GPRS模塊和另的終端以及主控設備實(shí)現遠程的數據傳輸和通信。根據Intel PXA263的特點(diǎn)和應用要求,首先開(kāi)發(fā)一個(gè)硬件平臺(以下稱(chēng)WindRain板),其具體的結構框圖如圖1所示。該硬件平臺主要由微處理器Intel PXA263、外部RAM、CCD接口、GPRS模塊、LCD、USB接口、串口等組成,同時(shí)可以通過(guò)SD卡和CF卡實(shí)現外部存儲器的擴展。

2 Windows CE.net操作系統的移植

2.1 Windows CE.net是Microsoft推出的WindowsCE3.0后繼產(chǎn)品,是一個(gè)緊湊、完整和可擴展的嵌入式操作系統。該系統具有完事的操作系統特性集包和端對端開(kāi)發(fā)環(huán)境,是一個(gè)多線(xiàn)程、多任務(wù)、確定性的實(shí)時(shí)完全搶先式優(yōu)先級的操作系統,特別適合于有限資源的硬件平臺。WindowsCE.net支持超過(guò)1400條的通道Microsoft Win32 API和其它的編程接口,包括組件對象模型(COM),Microsoft基本類(lèi)庫(MFC),Microsoft Activex控制,Microsoft活動(dòng)模板庫(ATL)等,其模塊化的設計方式使得系統開(kāi)發(fā)人員和應用開(kāi)發(fā)人員能夠為多種多樣的產(chǎn)品來(lái)定制它。

Platform Builder 4.2專(zhuān)門(mén)為開(kāi)發(fā)基于Windows CE.net操作系統的可定制平臺而設計的集成開(kāi)發(fā)平臺,包括集成開(kāi)發(fā)環(huán)境、平臺生成器、SDK導出器、調試器、遠程實(shí)用工具和仿真器等。它能使用戶(hù)方便地設計和調試一個(gè)基于Windows CE.net的平臺。

2.2 Windows CE.net的一般開(kāi)發(fā)流程

嵌入式Windows CE.net的一般開(kāi)發(fā)流程包括操作系統的定制,應用程序的開(kāi)發(fā)和產(chǎn)品生成等步驟,現分述如下。

(1)操作系統的定制

主要包括定制板級支持包BSP(包括Bootloader的編寫(xiě))、定制系統模塊、定制原始設備商適配層(OAL)及設備驅動(dòng)(driver)等步驟。完成操作系統的定制以后,可以通過(guò)Platform Builder 4.2編譯生成NK.bin或者NK.Nb0文件。至此,WindowCE.net的內核就定制完成了,然后就可以開(kāi)發(fā)自己的應用程序。

(2)應用程序的開(kāi)發(fā)

主要包括安裝SDK和聯(lián)機測試建立開(kāi)發(fā)環(huán)境、開(kāi)發(fā)中間模塊、開(kāi)發(fā)應用程序等步驟,最后形成exe文件。

(3)產(chǎn)品的生成

產(chǎn)品可以通過(guò)兩種形式發(fā)布:應用程序(AP)與操作系統(NK.bin)分開(kāi)發(fā)布或者是應用程序(AP)集成進(jìn)程系統(NK.bin)發(fā)布,然后下載到硬件平臺的Flash中脫機運行。其流程可以用圖2表示。

3 基于WindRain硬件平臺的Windows CE.net操作系統開(kāi)發(fā)流程

3.1 開(kāi)發(fā)基于WindRain板的BSP

BSP(Board Support Package)的開(kāi)發(fā)主要包括Bootloader的開(kāi)發(fā)、OAL(OEM Adaptive Layer)的開(kāi)發(fā)、本地驅動(dòng)程序的開(kāi)發(fā)及一冶文件配置等。

3.1.1 Bootloader的開(kāi)發(fā)

Bootloader主要是管理目標平臺的啟動(dòng)過(guò)程,包括初始化硬件設備,下載操作系統的映像文件等。有了Bootloader,用戶(hù)可以快速下載一個(gè)操作系統并映像到硬件平臺上運行。Bootloader的開(kāi)發(fā)是BSP開(kāi)發(fā)的第一步,也是關(guān)鍵的一步。只有得到一個(gè)穩定工作的Loader程序,才能夠更進(jìn)一步開(kāi)發(fā)WinCE的BSP,直到最后整個(gè)系統的成功。

具體步驟如下所述。

運行Platform Builder 4.2。選擇Platform-BSP Wizard,從Intel DBPXA240 DEV Platform,ARMV4I克隆一個(gè)新的BSP,命名為MyPxaPlat。完成后,從資源管理器可以查看到在%_winceroot%(筆者機器上為D:/wince420)路徑下面的Platform中新增了一個(gè)目錄MyPxaPlat。根據硬件平臺的特點(diǎn),修改%_winceroot%下的源泉文件fwxsc1.s、main.c、Flash.c及Edeviceinit.c等,使其符合自己的硬件平臺。為了調試方便,通常在函數OEMPlatformInit中加入一些自定義命令的處理,這樣便可以通過(guò)串口接收命令完成一些相應的功能。進(jìn)入DOS命令行提示符,分別cd_winceroot=D:,cd%_winceroot%,wince ARMV4IHLBASE MYPXAPLAT,完成命令行解釋器的設定,然后運行sysgen,定位%_winceroot%,輸入命令build-c,romimage boot.bib,在%_winceroot%I路徑下可以看到Eboot.exe、Eboot.bin、Eboot.nb0等文件。通過(guò)JTAG向Flash中寫(xiě)入Eboot.nb0文件,上電運行,就可以從超級終端中看到一些啟動(dòng)和調試信息。

3.1.2 0AL的開(kāi)發(fā)

OAL(OEM Adaptive Layer)即設備商適配層,是指位于Windows CE內核和目標硬件平臺之間的一個(gè)代碼層。開(kāi)發(fā)OAL的目是是為了使Windows CE.net內核和目標硬件之間實(shí)現通信,包括處理中斷、定時(shí)器等一些代碼。

圖2

OAL的實(shí)現也是在fwxsc1.s、main.c、Flash.c、Edeviceinit.c等文件中,根據需要修改相應代碼,并在此基礎上通過(guò)Build工具生成Buildexe目錄,內核執行鏡像Wernkitl.exe以及CEDDK.dll文件等。

3.1.3 驅動(dòng)程序的開(kāi)發(fā)

Device Drivers(驅動(dòng)程序)是指能夠管理虛擬或者物理設備、協(xié)議、服務(wù)等的一段軟件模塊,操作系統通過(guò)驅動(dòng)程序和硬件直接打交道。

設備驅動(dòng)設計的具體步驟是通過(guò)Platform Builder創(chuàng )建一個(gè)新的平臺,然后根據硬件平臺的需要插入和移除驅動(dòng),需要修改的文件有Platform.bib、Platform.reg及驅動(dòng)程序源代碼等,下面以顯示驅動(dòng)為例說(shuō)明具體的方法。

根據自己的硬件修改相關(guān)的源代碼。

在platform.bib中插入DLL。

ddi.dll $(_FLATRELEASEDIR)video.dll NK SH在platform.reg中檢查屏幕的Size和Bpp。

DisplayType"="LTM04C380K"

"CxScreen"=dwork:280

"CyScreen"=dword:1E0

"Bpp"=dword:10

定位目錄D:_LCD,通過(guò)build工具生在sa2voideo.dll文件。

調試驅動(dòng)文件。其它的設備驅動(dòng)都可以仿照上述思路進(jìn)行開(kāi)發(fā)。

3.1.4 平臺文件的配置

平臺配置文件包括源代碼配置文件和操作系統鏡像配置文件。源代碼配置文件主要是告訴Build工具需要用到的路徑、C或Visual C++的源文件以及生成什么類(lèi)型的二進(jìn)制文件等,包括Dirs文件、Sources文件和Makefile文件等。操作系統鏡像配置文件則主要用于給Makeimag工具生成操作系統鏡像,包括.bib、.reg、.dat、.db等文件。

由于BSP是通過(guò)克隆生成的,所以源代碼配置文件可以不做什么修改,只需根據需要,對鏡像配置文件做相應的修改就行了。

3.2 在Platform Builder中配置內核并編譯映像

具體步驟是打開(kāi)Platform Builder,通過(guò)Manage Catalog Features調入上面生成的BSP(即.cec文件),運行NewPlatform Wizard生成一個(gè)新的Project,通過(guò)Build菜單,編譯便可得到Windows CE.net映像文件NK.nb0和NK.bin。

3.3 導出平臺SDK并編寫(xiě)應用程序

編譯完成后,通過(guò)project菜單中的Export Wizard導出一個(gè)平臺SDK,供在Embedded Visual C++或者Visual Studio.net中開(kāi)發(fā)上層應用軟件使用。

3.4 下載映像并脫機運行

通過(guò)CE網(wǎng)卡下載Windows CE.net的映像文件到Flash中,脫機按復位鍵,屏幕上顯示W(wǎng)indows CE.net的啟動(dòng)畫(huà)面,說(shuō)明Windows CE.net已成功運行。開(kāi)發(fā)的上層應用軟件則可以通過(guò)PC機上的ActiveSyn同步軟件下載到Flash中。

至此,基于Windows CE.net的智能信息終端的開(kāi)發(fā)就已完成。通過(guò)開(kāi)發(fā)過(guò)程可以看出,Microsoft公司提供的Windows CE.net操作系統及其開(kāi)發(fā)工具,給我們提供了極大方便,大大縮短了產(chǎn)品研發(fā)的時(shí)間。

結語(yǔ)

本文介紹的基于Winodws CE.net的智能移動(dòng)信息終端具有功能強、性能穩定、功耗小等特點(diǎn),適用于當前的移動(dòng)高端信息產(chǎn)品,應用前景較好。目前,本文所設計的系統已成功的應用于軍警用移動(dòng)信息終端中。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>