當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]WinCE 的設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序是嵌入式操作系統(tǒng)中一個(gè)重要部分,它是外設(shè)和應(yīng)用軟件的接口,追隨了微軟的一貫風(fēng)格。WinCE的設(shè)備驅(qū)動(dòng)程序規(guī)范和豐富,需要特別指出的是,

WinCE 的設(shè)備驅(qū)動(dòng)程序

設(shè)備驅(qū)動(dòng)程序是嵌入式操作系統(tǒng)中一個(gè)重要部分,它是外設(shè)和應(yīng)用軟件的接口,追隨了微軟的一貫風(fēng)格。

WinCE的設(shè)備驅(qū)動(dòng)程序規(guī)范和豐富,需要特別指出的是,WinCE 5.0所有的驅(qū)動(dòng)程序全部是采用動(dòng)態(tài)加載方式,即在操作系統(tǒng)內(nèi)核啟動(dòng)以后對(duì)硬件外設(shè)(如USB、LCD) 加載,驅(qū)動(dòng)程序依然運(yùn)行在內(nèi)核空間。簡(jiǎn)單來(lái)講,這種驅(qū)動(dòng)程序是在用戶態(tài)和我們熟悉的Windows 系統(tǒng)的DLL方式?jīng)]有區(qū)別,其好處是程序員調(diào)試一個(gè)驅(qū)動(dòng)的時(shí)候會(huì)很方便,和應(yīng)用程序的調(diào)試沒(méi)有差異,可以使用正常的函數(shù)調(diào)用,把驅(qū)動(dòng)的動(dòng)作和數(shù)據(jù)顯示在屏幕上;再有,相對(duì)用戶自己開(kāi)發(fā)的驅(qū)動(dòng)程序,可能有不穩(wěn)定和可靠的地方,運(yùn)行在用戶態(tài),整個(gè)系統(tǒng)將會(huì)更穩(wěn)定些。

但是問(wèn)題和缺陷也顯而易見(jiàn),就是因?yàn)轵?qū)動(dòng)的動(dòng)態(tài)加載和內(nèi)核的切換代表性能的損失,對(duì)于桌面系統(tǒng)這可能沒(méi)有太大的影響,但是在嵌入式系統(tǒng),用戶對(duì)實(shí)時(shí)性能的要求要嚴(yán)格得多。為了解決這個(gè)問(wèn)題,在新的WinCE6.0里面的驅(qū)動(dòng)程序?qū)⒎譃閮?nèi)核模式和用戶模式兩種,內(nèi)核模式側(cè)重效率,用戶模式側(cè)重穩(wěn)健和可靠。微軟力求保證驅(qū)動(dòng)程序的主體結(jié)構(gòu)沒(méi)有大的變化,微軟資料顯示大約有幾天的時(shí)間可以完成一個(gè)一般規(guī)模的驅(qū)動(dòng)的移植過(guò)程,微軟公司和微軟的增值代理都提供了相應(yīng)的課程。

WinCE開(kāi)發(fā)工具

微軟工具新的策略是使用一個(gè)標(biāo)準(zhǔn)的Visual Studio 2005平臺(tái)支持全部的微軟嵌入式操作系統(tǒng)系列的開(kāi)發(fā),歷史上支持過(guò)WinCE和Windows Mobile 開(kāi)發(fā)的工具有:

*操作系統(tǒng)開(kāi)發(fā)-Platform Builder,它的作用是構(gòu)建操作系統(tǒng),設(shè)有配置和調(diào)試工具,CE6.0以后這個(gè)工具就不單獨(dú)存在,而是合并到Visual Studio 作為它的一個(gè)插件。

*應(yīng)用程序開(kāi)發(fā)-eMbedded Visual C++,支持本地應(yīng)用程序開(kāi)發(fā)C, C++, MFC(微軟基礎(chǔ)類), ATL(COM的目標(biāo)和Active X 控制),這個(gè)工具在CE5.0版本以后已經(jīng)合并到Visual Studio 2005里面。

*Visual Studio 2005-微軟全新的開(kāi)發(fā)工具已經(jīng)包含了Platform Builder, 值得特別提到的是Visual Studio 2005支持微軟托管的應(yīng)用代碼編寫(xiě)和調(diào)試,即.NET Compact Framework,它是NET Framework專門(mén)針對(duì)WinCE優(yōu)化后的一個(gè)簡(jiǎn)化版本。在嵌入式設(shè)備上可以大幅提高軟件開(kāi)發(fā)生產(chǎn)力,對(duì)于軟件越來(lái)越成為嵌入式設(shè)備的主要成本之一將會(huì)起到積極的作用,是一次編程多次使用的軟件重用理想的實(shí)現(xiàn)。Visual Studio 2005為了方便嵌入式系統(tǒng)應(yīng)用軟件開(kāi)發(fā)而設(shè)計(jì)的支持不同硬件平臺(tái)的“軟仿真器”也給用戶留下很深的印象。

圖3 基于NET Compact Framework的汽車外接顯示裝置

面向微型設(shè)備的.Net Micro Framework

前面提到的.NET Compact Framework雖好,但因?yàn)橐劳蠾inCE平臺(tái)要求的硬件資源比較大,微軟的 .NET Micro Framework 是微軟面向嵌入式系統(tǒng)中微型設(shè)備和單片機(jī)(MCU)市場(chǎng)的一個(gè)新的產(chǎn)品,是WinCE, Windows Mobile和Windows XP Embedded 在嵌入式市場(chǎng)的一個(gè)補(bǔ)充。.NET Micro Framework應(yīng)用可能是小型工業(yè)網(wǎng)關(guān)、家庭能源管理裝置、遙控器,也可以是Windows Vista PC 的sideshow(枝節(jié))設(shè)備,如筆記本電腦的副屏(可以播放MP3、顯示日歷、行程等)等,如圖3所示。微軟.NET Micro Framework 目前支持基于32位微處理器ARM7和9的硬件平臺(tái),已經(jīng)移植好的參考硬件平臺(tái)有飛思卡爾iMXS、DIGi Connet ME和EmbeddedFusion。

.NET Micro Framework 把通用的I/O設(shè)備,如UI、GPIO、SPI、Comm等做好一個(gè)類庫(kù)(見(jiàn)圖4),其他和應(yīng)用相關(guān)的硬件設(shè)備由合作伙伴(如DIGi)完成,值得注意的是,.NET Micro Framework還可以運(yùn)行在一個(gè)小RTOS(實(shí)時(shí)操作系統(tǒng))上,如DIGI平臺(tái)運(yùn)行的是Threadx RTOS, 微軟認(rèn)證的合作伙伴使用微軟提供的porting kit把這些設(shè)備類庫(kù)移植好,這樣使得嵌入式工程師能在不了解單片機(jī)硬件的前提下開(kāi)發(fā)單片機(jī)的應(yīng)用。.NET Micro Framework 里面有一個(gè)重要的部件叫CLR—可以理解為是個(gè)運(yùn)行代理,它的作用是個(gè)實(shí)時(shí)的編譯器,負(fù)責(zé)執(zhí)行被用戶提交的管理代碼,CLR還負(fù)責(zé)內(nèi)存和線程管理,如圖4所示類庫(kù)以上的應(yīng)用層都是被管理代碼(managed code),下面還是C/C++本地代碼(native code),這樣整個(gè).NET Micro Framework代碼非常的小,大約是250~500K。(WinCE 大約是1~12M左右)。需要指出的是,.NET Compact Framework不是一個(gè)傳統(tǒng)意義的實(shí)時(shí)多線程操作系統(tǒng),但是它可以支持多線程的操作,可以滿足一定范圍上實(shí)時(shí)要求,如通過(guò)設(shè)置UI是主線程滿足一定的顯示面板輸入響應(yīng)的要求,通過(guò)看門(mén)狗定時(shí)器和中斷方式滿足和實(shí)時(shí)設(shè)備接口數(shù)據(jù)通訊的要求。.NET Compact Framework的編程方式更接近微軟的桌面圖形編程界面,如,同樣使用delegate、callback處理外部事件。

.NET Micro Framework的SDK是開(kāi)放給所有用戶的,但是要得到porting kit需要得到微軟的認(rèn)證。信息產(chǎn)業(yè)部集成電路和軟件促進(jìn)中心(CSIP)是微軟授權(quán)的.NET Micro Framework在中國(guó)的技術(shù)培訓(xùn)和合作伙伴。

.NET Micro Framework面向的是一個(gè)對(duì)于微軟來(lái)講全新的市場(chǎng),可以說(shuō)這種開(kāi)發(fā)方式是對(duì)這個(gè)市場(chǎng)久已習(xí)慣的嵌入式軟件開(kāi)發(fā)方式的一次革命性的改變,從技術(shù)發(fā)展趨勢(shì)看,無(wú)疑是一個(gè)正確的方向。在最近的技術(shù)大會(huì)上,微軟.NET Micro Framework產(chǎn)品經(jīng)理和主要設(shè)計(jì)者Colin Miller非常有信心的給大家分享了微軟.NET Micro Framework下個(gè)版本開(kāi)發(fā)計(jì)劃,比如支持TCP/IP、USB、 BT/ZIGBEE、CAN總線和文件系統(tǒng)等等。但是應(yīng)該看到,由于嵌入式系統(tǒng)的特殊性和多樣性,微軟目前支持的平臺(tái)還比較少,合作伙伴的設(shè)計(jì)和應(yīng)用還待成熟和完善,.NET Micro Framework在國(guó)內(nèi)的發(fā)展還需要一定的時(shí)間。

圖4 .NET Micro Framework的結(jié)構(gòu)圖

微軟產(chǎn)品和其他RTOS比較

嵌入式系統(tǒng)畢竟不是桌面系統(tǒng),用戶需求的差異和環(huán)境差異很大,平臺(tái)的變化也多,用戶的選擇余地就大。為了方便用戶比較和選擇一個(gè)合適的嵌入式操作系統(tǒng),微軟官方網(wǎng)站上提供了第三方的評(píng)測(cè)報(bào)告供用戶閱讀和分析;國(guó)內(nèi)外基于微軟的嵌入式成熟應(yīng)用也可以供參考;微軟中國(guó)的市場(chǎng)和教育普及工作也對(duì)用戶了解微軟嵌入式操作系統(tǒng)大有幫助。下面僅對(duì)目前國(guó)內(nèi)嵌入式系統(tǒng)比較流行的嵌入Linux 和VxWorks 進(jìn)行分析,比較他們和微軟嵌入式操作系統(tǒng)的差異和各自特色。[!--empirenews.page--]

嵌入式Linux

最近結(jié)束的LinuxWorld China 2007 大會(huì)上,Linux基金會(huì)執(zhí)行總監(jiān)Jim Zemlin展望未來(lái)時(shí)再次強(qiáng)調(diào),嵌入式和移動(dòng)應(yīng)用是除標(biāo)準(zhǔn)、虛擬計(jì)算和桌面外的一個(gè)重要的發(fā)展領(lǐng)域。比較微軟和其他的嵌入式操作系統(tǒng),Linux和嵌入式Linux(經(jīng)過(guò)嵌入式優(yōu)化的Linux商業(yè)和非商業(yè)版本)的優(yōu)勢(shì)在于:1,開(kāi)放性,Linux100%源代碼公開(kāi);2,廣泛性和成功的開(kāi)發(fā)模式,全球化的社區(qū)開(kāi)發(fā)和維護(hù)方式已經(jīng)被驗(yàn)證是一種高效率和成功的軟件開(kāi)發(fā)模式;3,各種CPU和最新的硬件器件和系統(tǒng)的支持;4,豐富的開(kāi)源資源和第三方應(yīng)用軟件。

Linux的缺點(diǎn)是,第一,實(shí)時(shí)性。Linux本身并不是為嵌入式系統(tǒng)而設(shè)計(jì)的,從操作系統(tǒng)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)偏重于可靠性和網(wǎng)絡(luò)的效率,雖然商業(yè)嵌入式Linux公司如MontaVista 在2.4內(nèi)核上實(shí)現(xiàn)了可搶占的實(shí)時(shí)調(diào)度,開(kāi)源社區(qū)也有了2.6 RT補(bǔ)丁,但是比較WinCE 和VxWorks 實(shí)時(shí)性都略遜一籌,來(lái)自南京大學(xué)的文章中有一個(gè)可以參考數(shù)據(jù)表格,見(jiàn)表1。

第二,開(kāi)發(fā)工具。Linux的開(kāi)發(fā)工具一直是一個(gè)軟肋,從開(kāi)源社區(qū)分工講。內(nèi)核和工具鏈?zhǔn)莾蓚€(gè)完全獨(dú)立的部分,內(nèi)核的開(kāi)發(fā)和維護(hù)人員主要依賴于命令行工具??上驳氖牵_(kāi)源的Eclipse框架已經(jīng)成為包括嵌入式Linux 在內(nèi)的傳統(tǒng)嵌入式操作系統(tǒng)的集成開(kāi)發(fā)環(huán)境(IDE),基于Eclipse的商業(yè)嵌入式軟件如DevRocket、Workbench和Linuxscope也正在成熟。但是相對(duì)微軟的Visual Studio 2005,應(yīng)該說(shuō)中國(guó)的用戶更加熟悉微軟的開(kāi)發(fā)工具。

第三,完整應(yīng)用軟件方案,嵌入式系統(tǒng)要求的是有針對(duì)性的應(yīng)用軟件方案,嵌入式Linux雖然已經(jīng)有完整的操作系統(tǒng)組件,但是缺少針對(duì)具體應(yīng)用的軟件方案,舉個(gè)智能手機(jī)的例子,微軟的 Windows Mobile for SmartPhone基本含有了手機(jī)硬件驅(qū)動(dòng)(BSP)、內(nèi)核、TCP/IP、文件系統(tǒng)基本組件、手機(jī)軟件和多媒體辦公軟件等豐富的應(yīng)用軟件,這些基本涵蓋了整個(gè)智能手機(jī)所需要的全部軟件。但是相比較而言,嵌入式Linux的方案就顯得單薄多,雖然借助于包括Trolltech(奇趣) 的qtopia在內(nèi)的手機(jī)應(yīng)用軟件或者Access 的整套手機(jī)Linux軟件方案,Linux手機(jī)軟件仍缺少完整性和成熟性,這點(diǎn)對(duì)于包括中國(guó)手機(jī)企業(yè)在內(nèi)的2~3線的手機(jī)制造和設(shè)計(jì)公司帶來(lái)一定的壓力。

第四,商業(yè)化產(chǎn)品和服務(wù)。比較微軟,Linux和嵌入式Linux的商業(yè)公司規(guī)模小而且沒(méi)有標(biāo)準(zhǔn)化,雖然社區(qū)具有豐富的開(kāi)發(fā)和創(chuàng)意的資源,但是社區(qū)沒(méi)有義務(wù)提供商業(yè)的服務(wù)和承諾。

風(fēng)河的VxWorks

VxWorks是傳統(tǒng)嵌入式操作系統(tǒng)中的佼佼者,特別是在通信、國(guó)防和工業(yè)控制領(lǐng)域具有較強(qiáng)的優(yōu)勢(shì)。VxWorks是基于微內(nèi)核技術(shù)的實(shí)時(shí)內(nèi)核,從設(shè)計(jì)和實(shí)際的使用情況看,完全可以滿足硬實(shí)時(shí)性的要求,這點(diǎn)較Linux有較強(qiáng)的優(yōu)勢(shì)。相較于WinCE,VxWorks的實(shí)時(shí)性要更好一點(diǎn),設(shè)備管理和驅(qū)動(dòng)要簡(jiǎn)練和高效些。VxWorks6.1的版本之后還提供基于MMU內(nèi)存保護(hù)和錯(cuò)誤管理的機(jī)制(目前CE和.NET MicroFramework 還不支持),使系統(tǒng)的可靠性更有保證。VxWorks系統(tǒng)的配置靈活,代碼尺寸相較于WinCE和Linux要小得多,基本系統(tǒng)甚至比.NET Micro Framework還要小,這樣適合更低配置和成本要求的嵌入式設(shè)備。

VxWorks的網(wǎng)絡(luò)功能強(qiáng)大,風(fēng)河公司和第三方都有大量的網(wǎng)絡(luò)協(xié)議和應(yīng)用軟件支撐,VxWorks的API 是POSIX 兼容,這樣通信行業(yè)的標(biāo)準(zhǔn)代碼就很容易移植進(jìn)來(lái)了(Linux 有相同的特點(diǎn)),這可以說(shuō)是WinCE的一個(gè)弱點(diǎn)。

但是,VxWorks 在消費(fèi)電子和手持移動(dòng)設(shè)備方面應(yīng)用比較微軟操作系統(tǒng)甚至Linux都相對(duì)少得多,從技術(shù)和商業(yè)層面看,筆者認(rèn)為主要是這樣幾個(gè)原因:1,VxWorks是從內(nèi)核發(fā)展成為一個(gè)比較完整的嵌入式OS,但是API和圖形系統(tǒng)并不是十分標(biāo)準(zhǔn)和流行,單靠VxWorks自己的產(chǎn)品和松散的第三方資源還很難形成完整和公認(rèn)的消費(fèi)電子中間件。2,VxWorks早期是采用開(kāi)發(fā)授權(quán)加上版稅的方式收取費(fèi)用,這種方式不能為強(qiáng)調(diào)成本控制的OEM/ODM(委托制造/委托設(shè)計(jì))廠商所接受,比如在過(guò)去的5年里,中國(guó)臺(tái)灣OEM/ODM生產(chǎn)的家用無(wú)線網(wǎng)絡(luò)產(chǎn)品多數(shù)都轉(zhuǎn)到Linux平臺(tái),手機(jī)和GPS轉(zhuǎn)到上市比較快的WinCE和Window Mobile平臺(tái)。OEM/ODM不能接受為售價(jià)只有15~25美元的無(wú)線路由器再支付哪怕是1美元(甚至更少)的版稅了。

當(dāng)然,風(fēng)河公司已經(jīng)充分意識(shí)到這個(gè)問(wèn)題,并在過(guò)去幾年改變了商業(yè)模式,比如以收取年費(fèi)的方式取代版稅模式,同時(shí)風(fēng)河正式采用雙OS的策略,進(jìn)軍嵌入式Linux 市場(chǎng),推出風(fēng)河通信和消費(fèi)電子用Linux 平臺(tái),以期和微軟抗衡,這是因?yàn)樗膶?shí)質(zhì)也是一個(gè)基于開(kāi)源的嵌入式Linux版本。

結(jié)語(yǔ)

從前面的分析我們不難看出,微軟嵌入式操作系統(tǒng)產(chǎn)品線完整,開(kāi)發(fā)工具成熟,產(chǎn)品的市場(chǎng)定位明確,可以為OEM/ODM提供從操作系統(tǒng)到應(yīng)用的全面解決方案和到后臺(tái)服務(wù)器的無(wú)縫連接方案。面對(duì)強(qiáng)手如林、需求獨(dú)特的嵌入式世界,微軟面臨的挑戰(zhàn)和困難要比其他領(lǐng)域大得多。中國(guó)是世界消費(fèi)電子產(chǎn)品的生產(chǎn)和消費(fèi)大國(guó),手機(jī)、GPS、多媒體移動(dòng)終端、電視、機(jī)頂盒這些嵌入式裝置都是微軟嵌入式操作系統(tǒng)的重要目標(biāo)市場(chǎng)。最近,“2007 Windows 硬件工程大會(huì)”及“2007 移動(dòng)與嵌入式開(kāi)發(fā)者大會(huì)”和.NET Micro Framework大會(huì)在北京召開(kāi),說(shuō)明了微軟對(duì)中國(guó)嵌入式市場(chǎng)的重視,以及中國(guó)用戶對(duì)微軟嵌入式操作系統(tǒng)的關(guān)注。微軟嵌入式操作系統(tǒng)將為絢麗多彩的嵌入式世界增添一朵奇葩。

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

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

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉