當前位置:首頁 > 嵌入式 > 嵌入式硬件

說到Windows CE不由得就想到微軟推出的WIN系列PC操作系統(tǒng),Windows的出現(xiàn)在很大程度上改變了程序員的編程習慣,把程序員從冗長的代碼中解放了出來。那么Windows CE呢?會不會給掌上電腦的程序設計帶來一次新的飛躍呢?一切沒有事實依據(jù)的預測都是不可靠的,我們只能通過認識WIN CE的優(yōu)勢與特點來小心翼翼的展望一下也許并不遙遠的未來。 CE能被廣泛的應用到各種嵌入式的產(chǎn)品中與其是一個緊湊、高效和可升級的操作系統(tǒng)有著直接的關系。從手持電腦到專門的工業(yè)控制器和消費用電子產(chǎn)品隨處可見CE的靚影。Windows CE已經(jīng)通過了其自身的能力證明:它能夠滿足32位嵌入式式程序開發(fā)的需求。同樣重要的是: Windows CE使嵌入式式系統(tǒng)的設計者得以充分利用Microsoft的32位基于Windows的開發(fā)工具的全部的函數(shù)---API。

本文并不是刻意要完全做Win32的編程指南,而是要介紹用Win32作為嵌入式式應用程序的開發(fā)工具。

回答一個問題先:什么是WIN32?

“WIN32”表示對于所有的Microsoft 32位平臺的一種普通的應用編程接口(API)。這些平臺通常指: Windows 95, Windows 98, Windows NT, Windows CE。 本文我們主要關注Windows CE操作系統(tǒng),可是需要弄清楚的是大多數(shù) Win32的應用編程接口對上面幾種平臺都適用。不過不同的平臺由于不同的特性及硬件的約束,其應用編程接口也不完全相同。WIN32平臺家族的一些成員支持全部的WIN32的應用編程接口(下簡稱API),而的只支持一部分的API。 為緊湊的、嵌入式的應用軟件和小型設備而設計的Windows CE受WIN32的API限制最多。話雖如此, Windows CE 的API也足夠的完善,處理實際的大量的高級的嵌入式式應用程序也沒什么問題。

概念性的飛躍:WIN32與Microsoft基本類庫(MFC)

用WIN32界面設計并不是創(chuàng)建32位基于 Windows的應用程序的唯一的途徑。另一種重要的途徑是可在WIN32與 Microsoft Visual C++開發(fā)環(huán)境使用的Microsoft基本類庫(MFC)。MFC為許多(不是所有)的WIN32的API進行了高度的封裝。通常,MFC提供了代表重要的WINDOWS的用戶界面對象的類,象窗口,對話框,畫刷,畫筆,和字體。MFC也為沒有任何用戶界面要求的嵌入式式應用軟件提供了相應的類。MFC類的成員函數(shù)調(diào)用WIN32API的函數(shù),可以使復雜的應用程序的設計巧妙的簡化。

作為WIN32的程序員,你可以自由的選取使用C或C++和WIN32 API, 或者用C++與MFC。VISUAL C++開發(fā)系統(tǒng)對于所有的,包括 Windows CE 的WIN32的目標操作系統(tǒng)都支持以上的兩種開發(fā)系統(tǒng)。

再說點廢話:Windows CE的內(nèi)核和 Win32 API

WINDOWS CE很容易讓人產(chǎn)生這樣一個錯覺,認為它僅僅是現(xiàn)有的操作系統(tǒng)(如/98/NT)降級版。但事實上Windows CE是以小型的、高度用戶化的面向嵌入式應用程序的操作系統(tǒng)開發(fā)起來的。在WINDOWS CE排除(或代替)了一些基于WINDOWS CE的應用軟件所不需要的操作系統(tǒng)特性的同時,它的內(nèi)核也具有大量的Microsoft 32位的操作系統(tǒng)的最精華的東西。例如在Windows NT下, 所有的在Windows CE下運行所應用軟件都運行在有優(yōu)先權的多任務處理環(huán)境下,在被全保護的內(nèi)存空間里。還有,象 Windows NT一樣,Windows CE支持本地統(tǒng)一的字符編碼標準碼字符串,使它更適于國際推廣??墒牵幌蟮?2位WINDOWS平臺,, Windows CE是十分緊湊和用戶化的,僅僅占用小于的內(nèi)存。

Windows CE的WIN32 API比其他的32位的Windows操作系統(tǒng)的WIN32 API要??;它只包括大約相當于Windows NT的半數(shù)的API。但是 Windows CE的WIN32 API也有其他系統(tǒng)所沒有的特性。例如:通知API,它能夠操作系統(tǒng)的層次,而不是在應用程序的層次上處理通知事件(如時鐘)。觸屏的API和對Windows CE的數(shù)據(jù)庫的內(nèi)置的支持是其他的操作系統(tǒng)所沒有的。觸屏的API使用于觸覺敏感顯示器的屏幕校正和用戶交互的管理容易實現(xiàn),而數(shù)據(jù)庫的API提供了快速簡捷的訪問數(shù)據(jù)庫的的一常用工具。另一個關于Windows CE的鮮為人知的方面是它的高度的模塊化;嵌入式系統(tǒng)開發(fā)者(用Microsoft Windows CE內(nèi)含的面向Visual C++的軟件包)能夠創(chuàng)建一個相當對于它們的獨特的硬件平臺和應用軟件用戶化了的Windows CE的版本。這對于一個使用Windows CE平臺的WIN32 API的用戶來就意味著對于的、32位的嵌入式式系統(tǒng),它是一種更簡單的API,更加優(yōu)化的目標操作系統(tǒng)。下面,我們將研究一些重要 的WIN32 API和Windows CE操作系統(tǒng)的內(nèi)部的內(nèi)容。

言歸正傳:程序和線程

了解WIN32 API和Windows CE操作系統(tǒng)的底層內(nèi)容的第一步就是了解多任務和多線程應用程序是如何組織的。WIN32術語中,程序被定義成一個正在運行中的進程實例。象其他的32位Windows 平臺一樣,Windows CE是一個多任務的操作系統(tǒng),在一個運行中的程序里,它支持執(zhí)行多個線程在后臺運行。

WIN32的線程的處理同其他常用的嵌入式的操作系統(tǒng)是有區(qū)別的。不象或其派生的系統(tǒng),32位Windows平臺從一開始設計就支持多線程應用程序。線程管理(時序安排,同步和資源管理)由內(nèi)核來完成,程序開發(fā)者利用函數(shù)裝入內(nèi)核(通過WIN32 API訪問)來建立和管理他們應用程序中的線索索。

例如,如果一個嵌入式應用程序必須監(jiān)視多個輸入設備并且在監(jiān)視到一個或多個設備上不同步發(fā)生的事件的時候要作出恰當?shù)姆从?。更進一步,如果這樣一個程序也需要更新一些共享的資源(如全局數(shù)據(jù)結(jié)構,磁盤上的文件,或其他設備)來作為與相關設備事件的反映。象這樣的一個程序需要一個可靠的線程管理系統(tǒng)。這恰恰是WIN32 API能夠提供的函數(shù)。多個線程能夠快捷并且容易的用WIN32 API線程創(chuàng)建界面,建立同步線程。(多個線程同時訪問一個數(shù)據(jù))這些可以通過關鍵的段,有名稱和沒有名稱事件,以及互斥的目標來實現(xiàn)。Windows CE 被設計成在執(zhí)行這些同步時僅占用最少的程序資源。

一個新的名詞:消息

在32位windows平臺上運行的程序更專門化,程序的線程依賴于消息來初始化程序,控制系統(tǒng)資源并且與操作系統(tǒng)和用戶通信。 windows消息有各種各樣來源 ,包括操作系統(tǒng),用戶活動諸如鍵盤輸入、、觸到屏幕,以及其它運行的程序或者線程。

當消息被送到線程時,這條消息被放置在消息隊列中等待最后處理。每一條線程擁有完全獨立的消息隊列。線程一般有不斷運行的消息循環(huán),恢復和處理消息。當隊列地沒有消息,并且線程不從事于其它任何活動,系統(tǒng)掛起線程,以節(jié)省中央控制器資源。

消息也能用于控制目的,初始化你的應用程序中各種類型的程序,并且他們能利用消息參數(shù)傳遞數(shù)據(jù)。例如,線程可能收到觸屏被激活的消息,消息參數(shù)可以表明X和Y為用戶行動的坐標。 在另一種類型的消息中,參數(shù)可以包括指針或者指向數(shù)據(jù)結(jié)構、窗口或其他對象的句柄。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉