WindowsCE和嵌入式系統設計(1)
【導讀】正是windowsCE和其它全功能的嵌入式系統的時(shí)候了。利用相應較高級別的集成、較低的成本來(lái)減少任務(wù),以及增加的性能都使得全新的應用成為可能。
在PDA上運行的WindowsCE已經(jīng)被推出近兩年了,而且與一些大的電子制造商,像Matsushita(Panasonic)和Hitachi等聯(lián)合,它也已被選為一些機頂裝置設計和其它消費電器的操作系統。盡管這些消費類(lèi)的應用是WindowsCE的最可見(jiàn)的應用,但Microsoft及其伙伴正忙于開(kāi)發(fā)上百種其它應用,用于廣泛的傳統或非消費類(lèi)的嵌入式系統。嵌入式設計為CE贏(yíng)得了工業(yè)控制、數據收集、銷(xiāo)售點(diǎn)、堅固的手持式產(chǎn)品、以及網(wǎng)絡(luò )裝置等行業(yè)。隨著(zhù)制造商在未來(lái)三到九個(gè)月中將這些產(chǎn)品投放市場(chǎng),CE方案的廣泛范圍將明顯增加。
什么是WindowsCE
WindowsCE是Windows操作系統家族的最新成員。但它并不是WindowsNT或Windows9x的一部份或縮減版本。WindowsCE擁有它自己的系統結構,具備獨立開(kāi)發(fā)的內核和獨一無(wú)二的設備驅動(dòng)程序模型。CE不同于它的臺式兄弟,它最初就是為占用較少內存的應用程序、即用操作、微處理器可移植性以及電源守恒而設計的。在應用程序開(kāi)發(fā)和功能特性方面,CE還享有WindowsNT和Windows9x的關(guān)鍵部分。
WindowsCE支持一個(gè)用于臺式操作系統的具有600多個(gè)Win32應用程序界面(ApplicationProgramInterface,API)的子集,包括內置聯(lián)網(wǎng)技術(shù),并提供相同的部件技術(shù)(包括COM/OLE和動(dòng)態(tài)鏈接庫)。此外,CE支持相同的臺式開(kāi)發(fā)工具VisualC++,VisualBasic和VisualJava并支持Microsoft擴展C++,包括結構化異常處理。
為何使用WindowsCE?
正是CE和其它全功能的嵌入式系統的時(shí)候了。利用相應較高級別的集成、較低的成本來(lái)減少任務(wù),以及增加的性能都使得全新的應用成為可能,也使現有應用中增加的互連性和更豐富的功能特性更加靈活。嵌入式系統的復雜性和差異性正逐漸從硬件轉移到軟件上。如果基于合適的軟件平臺,這些面向軟件的系統就會(huì )提供更大的靈活性以適應市場(chǎng)需求,使各種生產(chǎn)線(xiàn)趨于通用,并減少投放市場(chǎng)的時(shí)間。CE比其競爭者在更大程度上著(zhù)重于軟件和軟件開(kāi)發(fā)者。
WindowsCE為嵌入式系統開(kāi)發(fā)者提供下列顯著(zhù)優(yōu)勢:
1.Win32API。WindowsCE與WindowsNT和Windows9x使用相同的基本API。這些是由全球兩百多萬(wàn)的軟件開(kāi)發(fā)者使用的相同API。API的普遍傳播使得開(kāi)發(fā)隊伍能夠平衡開(kāi)發(fā)者的技能,以減少重復訓練的時(shí)間并增加對現有開(kāi)發(fā)者的接近機會(huì )。對于嵌入式系統的軟件部份增加需求分析意味著(zhù)軟件開(kāi)發(fā)者部分是降低開(kāi)發(fā)成本和加快投放市場(chǎng)時(shí)間的關(guān)鍵。
2.開(kāi)發(fā)工具。用于Win發(fā)工具和技術(shù)與用于WindowsNT和Windows9x的相同。用于CE的現有工具包括VisualC++,VisualBasic和VisualJava;這些都是運行于WindowsNT系統上的,大多數軟件開(kāi)發(fā)者一般都可得到它們。這又一次說(shuō)明,開(kāi)發(fā)者的生產(chǎn)能力是直接由工具、技術(shù)和開(kāi)發(fā)系統的通用性而增長(cháng)的。
3.軟件集成。WindowsCE是一種集成的操作系統,它包括圖形、窗口管理和聯(lián)網(wǎng)技術(shù),以及基本的操作系統支持,例如定時(shí)器、中斷處理和同步原語(yǔ)。Microsoft已經(jīng)將這些部件集成在一起,并已測試了這個(gè)集成軟件系統。利用WindowsCE,嵌入式系統開(kāi)發(fā)者不必從多家供應商處尋找這些部件,然后將它們集成在一起并測試整個(gè)系統。
4.處理器支持。盡管WindowsCE是一個(gè)年輕的操作系統,但它已支持廣泛的微處理器體系結構,包括CISC和RISC。目前,WindowsCE支持Hitachi的SH、MIPS、PowerPC、ARM和x86體系結構通常每種結構系列都有多個(gè)變種。CE嵌入式設計者擁有廣泛的微處理器可供挑選,這使你在優(yōu)化系統的性能、電源消耗、組件大小、成本以及集成外設方面能夠做出最佳選擇。開(kāi)發(fā)工具和操作系統部件在所有體系結構上表現一致,因此,這就為你在系統之間平衡軟件提供了靈活性,即使在基礎的微處理器不相同時(shí)也是如此。
5.第三方支持。將焦點(diǎn)放在軟件上就鼓勵了第三方獨立軟件供應商(ISV,independentsoftwarevendor)去開(kāi)發(fā)和銷(xiāo)售能在各種設計之間平衡的軟件。Microsoft通過(guò)它的市場(chǎng)占有、現有的ISV關(guān)系和銷(xiāo)售努力,已使ISV在CE平臺方面產(chǎn)生了巨大的興趣。ISV軟件已日益增多,有開(kāi)發(fā)工具、設備驅動(dòng)程序、應用程序和組件。這又一次說(shuō)明了嵌入式設計者擁有平衡現有工作、減少項目風(fēng)險、開(kāi)發(fā)成本和投放市場(chǎng)時(shí)間的機會(huì )。
WindowsCE是以軟件為中心的嵌入式開(kāi)發(fā)模型。這種以軟件為首的模型產(chǎn)生了大量的部件和應用程序,開(kāi)發(fā)者就有時(shí)間來(lái)增加每種開(kāi)發(fā)項目的作用。Microsoft支持其現有的開(kāi)發(fā)者、工具和技術(shù)基礎的能力意味著(zhù)WindowsCE將繼續享有其競爭者沒(méi)有的顯著(zhù)優(yōu)勢。
供CE用的嵌入式工具箱
EmbeddedToolkit(ETK,嵌入式工具箱)是用于嵌入式WindowsCE開(kāi)發(fā)的軟件開(kāi)發(fā)箱,它支持系統級和應用程序的開(kāi)發(fā)。ETK由VisualC++(VC++)開(kāi)發(fā)環(huán)境、編程工具、以及二進(jìn)制形式的WindowsCE操作系統部件組成。該工具箱包括交叉編譯器、匯編程序、以及遠程調試程序,這些調試程序用于集成到VC++IDE(IntegratedDevelopmentEnvironment,集成開(kāi)發(fā)環(huán)境)的所有受支持的微處理器。
為某個(gè)特定的微處理器結構進(jìn)行目標編譯和調試僅僅是在VC++菜單上改變某個(gè)設置。在一臺通過(guò)串行、并行或網(wǎng)絡(luò )連接與一臺單獨的WindowsCE目標設備相連的WindowsNT主機系統上完成開(kāi)發(fā)。在主機上編寫(xiě)并編譯代碼,然后通過(guò)互連將代碼下載到目標上。調試是遠程進(jìn)行的,也是通過(guò)互連。
用于嵌入式設計的CE操作系統是從Microsoft所提供的部件和設計者所開(kāi)發(fā)的部件中建立起來(lái)的?;静考詭斓男问交騽?dòng)態(tài)鏈接庫(DLL,dynamiclinklibrary)的形式提供。在某些情況下,通過(guò)鏈接系統指定的部件(設備驅動(dòng)程序和系統函數)到基本庫部件來(lái)形成可執行的圖像和DLL。在一個(gè)索引文件中選擇將包含在最終操作系統建立中的程序部件,然后執行一個(gè)編譯圖像程序來(lái)創(chuàng )建WindowsCEROM圖像。該程序執行許多函數,這些函數就像典型的臺式裝載函數,例如圖像重定位和DLL的匯集。最終的ROM圖像適合于XIP(executeinplace,現場(chǎng)執行)或RAM執行。
ETK還包括一個(gè)用于應用程序開(kāi)發(fā)的擴展仿真環(huán)境。仿真器在臺式電腦上執行WindowsCE的虛擬版本,允許在缺乏WindowsCE目標設備的情況下在本地運行編譯-調試循環(huán)。
評論