新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 學習方法與實踐 > 關于Windows CE開發(fā)中最常用的概念和知識

關于Windows CE開發(fā)中最常用的概念和知識

——
作者: 時間:2007-11-28 來源:賽迪網(wǎng) 收藏
       這篇文章的目的并不是介紹 Embedded 開發(fā)的方方面面,只是用一個初涉領域的開發(fā)者的視角來介紹 開發(fā)中最常用的,解決大家會在實際開發(fā)中碰到的一些小問題,讓大家了解開發(fā)與應用程序開發(fā),到底有哪些不同。 

        概述 

       從6.0版本開始,Windows CE的名字改為Windows Embedded CE,當然這也是為了結合Windows Embedded品牌作出的改變。CE經(jīng)過了十年的風風雨雨之后,終于在CE 6.0這個版本上再次浴火重生了。CE 6.0經(jīng)歷了CE歷史上第二次內(nèi)核重寫,使CE操作系統(tǒng)更加符合當今開發(fā)的方向。 

       CE 6.0在內(nèi)核方面的改變主要是為了適應嵌入式設備硬件發(fā)展的要求,在進程數(shù)量方面,從過去最多運行32個進程,改變?yōu)樽疃噙\行3萬2千個進程,內(nèi)存方面從每個進程最多擁有32M虛擬內(nèi)存空間改為最多擁有2G虛擬內(nèi)存空間。在OS布局方面,將關鍵的驅動程序、文件系統(tǒng)和圖形界面管理器(GWES)移到了內(nèi)核中,這樣可以更好解決因為CPU在內(nèi)核態(tài)和用戶態(tài)間切換而造成的性能損失。 

       當然,從以上的改變,我們可以看到CE 6.0較之前版本更加“重量級”了。操作系統(tǒng)領域關于“微內(nèi)核”的爭論已經(jīng)持續(xù)了很多年,CE的改變也許會為某個學派的觀點提供支持。但我們必須指出的是,正因為目前的嵌入式設備硬件已經(jīng)可以支持比較“重量級”的操作系統(tǒng)了,所以CE 6.0才會做出如此改變。 

       CE針對開發(fā)者的另一個轉變開始自CE 5.0,將開發(fā)環(huán)境Platform Builder整合到Visual Studio中,這種做法無疑減輕了微軟維護兩套IDE的負擔,從另外一個方面來看,CE的開發(fā)者也可以享受到更好的開發(fā)體驗了。 

       嵌入式開發(fā)流程 

        也許很多初涉嵌入式開發(fā)領域的程序員會被一系列的新名詞搞得頭昏腦脹,在這里,我希望能夠將嵌入式開發(fā)的流程展現(xiàn)給大家。 

       嵌入式開發(fā)主要分為三個比較大的部分: 

      1 驅動程序開發(fā) 

       這部分開發(fā)是從硬件設計開始的,硬件工程師會設計PCB板,為我們提供標準開發(fā)板(SDB,standard development board)。當我們拿到開發(fā)板之后的第一件事情就是編寫boot-loader,讓開發(fā)板啟動起來,一般是通過JTGA將boot-loader燒錄到開發(fā)板中的。我們可以將boot-loader看作PC中的BIOS,負責硬件設備的初始化工作,并且將操作系統(tǒng)運行起來。在此之后,我們需要根據(jù)開發(fā)板上的硬件開發(fā)各種驅動程序,比如串口、USB、鼠標、視頻輸入等。最后將這些驅動程序和boot-loader打包,稱為一個板級支持包(BSP)。BSP是和開發(fā)板的具體硬件緊密相關的。 

        所以從事這方面開發(fā)的工程師往往具有比較強的硬件水平。 

        2 平臺定制 

        我們可以將Windows CE想象為一盒積木,根據(jù)不同的應用場景和設備要求,我們要對這盒積木進行定制,堆積出不同形狀的城堡、動物和生活用品。這個過程稱為“平臺定制”,定制產(chǎn)生的平臺往往和具體的硬件設備相關,直接將平臺下載到硬件設備上就可以運行了。整個開發(fā)過程,需要選擇不同的組件來搭配出最適合當前硬件的平臺。所以要對Windows CE的組件,也就是Catalog Item,有相當程度的了解。 

       3 應用程序開發(fā) 

       嵌入式設備上的應用程序開發(fā)與傳統(tǒng)應用程序開發(fā)類似,只是要借助于硬件模擬器或者實際設備對程序進行調(diào)試。最常見的嵌入式設備應用程序開發(fā),就是Windows Mobile的移動應用開發(fā)。平臺定制工程師會在硬件出廠之前先提供平臺相關的SDK,SDK中會包括模擬器。應用開發(fā)者可以首先使用模擬器對程序進行開發(fā)和調(diào)試。等實際硬件出來之后,再將程序轉移到實際硬件中。因為Windows CE采用了很多措施,這種“轉移”幾乎是無縫的,所以我們并沒有使用“移植”這個詞。 

       嵌入式領域的應用開發(fā)其實是普通工程師就可以進行的。 
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉