新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > VxWorks 6.2輕松應(yīng)對設(shè)備軟件的特殊挑戰(zhàn)

VxWorks 6.2輕松應(yīng)對設(shè)備軟件的特殊挑戰(zhàn)

——
作者: 時間:2007-03-01 來源:電子產(chǎn)品世界 收藏
“軟件”與“硬件”必須相輔相成,才能確?!吧硇慕】怠?。對于服務(wù)器、桌面或者筆記本PC來說,軟件與硬件的協(xié)調(diào)比較容易做到,因?yàn)檫@些設(shè)備的硬件環(huán)境都是標(biāo)準(zhǔn)化的。而對于其他的電子設(shè)備來說,由于硬件環(huán)境的千差萬別,軟件與硬件的協(xié)調(diào)就會面臨更多的挑戰(zhàn)。

作為業(yè)界著名的,VxWorks從一開始就具備了可裁剪性的良好“血統(tǒng)”。風(fēng)河(Wind River)系統(tǒng)公司不久前宣布推出VxWorks的模塊化版本——VxWorks 6.2,進(jìn)一步把可裁剪性提升到了新的水平,使這個在設(shè)備軟件領(lǐng)域流傳和應(yīng)用極為廣泛的實(shí)時操作系統(tǒng)(RTOS)可以像“樂高”玩具那樣,按照設(shè)備軟件開發(fā)者的需要隨意組裝和配置。

“即插即用”才是可裁剪性

可裁剪性是設(shè)備軟件與通用計(jì)算機(jī)軟件的重要區(qū)別之一,這是由于設(shè)備軟件與通用的PC或服務(wù)器軟件存在以下幾個方面的區(qū)別: 

第一,從硬件環(huán)境來看,桌面操作系統(tǒng)具有標(biāo)準(zhǔn)化的CPU、存儲和I/O架構(gòu),而嵌入式環(huán)境中的RTOS硬件環(huán)境只有標(biāo)準(zhǔn)化的CPU,沒有標(biāo)準(zhǔn)化的存儲、I/O和顯示器架構(gòu),因此許多模塊在特定的硬件中并不會用到。

第二,從應(yīng)用環(huán)境來看,桌面操作系統(tǒng)面向復(fù)雜多變的應(yīng)用,而RTOS面向單一設(shè)備的單一應(yīng)用,操作系統(tǒng)中的許多部件因此可以裁剪掉,以便節(jié)省內(nèi)存,在降低成本的同時提高可靠性。

第三,從開發(fā)界面來看,桌面操作系統(tǒng)試圖給開發(fā)人員提供一個“黑箱”,讓開發(fā)人員通過一系列標(biāo)準(zhǔn)的系統(tǒng)調(diào)用來使用操作系統(tǒng)中的功能,而嵌入式試圖為開發(fā)人員提供一個“白箱”,讓開發(fā)人員可以自主控制系統(tǒng)的所有資源,因而應(yīng)該可以自行對操作系統(tǒng)進(jìn)行裁剪。

總之,桌面操作系統(tǒng)的研究開發(fā)指導(dǎo)思想是盡可能在不改變自身的前提下具有廣泛的適應(yīng)性。也就是說:不論應(yīng)用環(huán)境怎么變化,最好都不要對自身內(nèi)部產(chǎn)生什么影響,也不要求自身做太多的變化。反過來,應(yīng)用于嵌入式環(huán)境的設(shè)備軟件,在研發(fā)的時候就必須立足于改變自身、開放自身,讓開發(fā)人員可以根據(jù)硬件環(huán)境和應(yīng)用環(huán)境的不同而對操作系統(tǒng)進(jìn)行靈活的裁剪和配置,因?yàn)閷τ谌魏我粋€具體的嵌入式設(shè)備,它的功能是確定的,因此只要從原有操作系統(tǒng)中把這個特定應(yīng)用所需的功能拿進(jìn)來即可。

有人認(rèn)為,設(shè)備軟件開發(fā)者如果擁有了軟件的源代碼,就可以按照自己的需求對其進(jìn)行任意裁剪,就等于擁有了可裁剪性,這是一個很大的誤解。刪掉部分源代碼之后,將會給整個系統(tǒng)帶來什么影響,這是很難預(yù)估的,因而會給系統(tǒng)的可靠性帶來極大的隱患。

所以說,如果一個軟件平臺只能依靠手工的方式去掉一些源代碼,這根本就不是可裁剪性。所謂可裁剪性是以優(yōu)秀的模塊化設(shè)計(jì)為基礎(chǔ),在軟件項(xiàng)目的工程階段,隨時利用軟件配置方法實(shí)現(xiàn)軟件構(gòu)件的“即插即用”。可見,可裁剪性與開放源代碼是兩個完全不同的概念。

可裁剪性帶給用戶的一個最直接的好處是硬件成本降低,這對于成本敏感的應(yīng)用,如消費(fèi)電子類設(shè)備,具有重要的現(xiàn)實(shí)意義。由于設(shè)備中只包含應(yīng)用程序用到的那部分操作系統(tǒng)功能,這就使得系統(tǒng)變得簡單、易把握,從而提高系統(tǒng)的可靠性。

可裁剪性還與可擴(kuò)展性和可靠性密切相關(guān),因?yàn)檐浖?guī)??s減和增加可以采用同樣的軟件配置技術(shù),而可裁剪性如果處理不好就勢必影響到系統(tǒng)的可靠性。

VxWorks迎來設(shè)備軟件的積木時代

實(shí)際上,VxWorks以前的版本也同樣具有很好的可裁剪性和可擴(kuò)展性,因?yàn)樗脑O(shè)計(jì)是以構(gòu)件和參數(shù)的形式進(jìn)行的,只是其中的構(gòu)件都是以預(yù)先編譯庫的形式存在,通過符號參照表與系統(tǒng)連接起來。在VxWorks 6.2中,操作系統(tǒng)的配置通過更巧妙的方式來實(shí)現(xiàn),支持更小巧的模塊、更精準(zhǔn)的方式來配置形成特定的操作系統(tǒng)功能,既可以只包含最核心的操作系統(tǒng)內(nèi)核,也可以是最完整的操作系統(tǒng)。

除了部件和部件捆綁,VxWorks 6.2中還有“Profile”可以用來對VxWorks進(jìn)行配置,這是一個新的重要特色?!癙rofile”提供了一種便捷的方式,構(gòu)成了操作系統(tǒng)的不同配置基礎(chǔ),以便適應(yīng)不同的設(shè)備軟件產(chǎn)品以及軟件項(xiàng)目開發(fā)的不同階段。

VxWorks 6.2之所以具有更好的可裁剪性和可擴(kuò)展性,是因?yàn)椴捎昧司脑O(shè)計(jì)的三層結(jié)構(gòu):最小內(nèi)核、基本內(nèi)核和基本操作系統(tǒng),以簡潔的微內(nèi)核作為最底層,逐層擴(kuò)展到完整的VxWorks配置(如圖1所示)。隨著層次的上升,相應(yīng)配置所支持的功能逐漸復(fù)雜多樣,這些配置工作可以采用風(fēng)河公司W(wǎng)orkbench或者vxpri實(shí)現(xiàn),以便作為各種設(shè)備軟件開發(fā)項(xiàng)目的基礎(chǔ)。盡管經(jīng)過各種不同裁剪配置的VxWorks都短小精悍,但仍然可以形成一個完整鏈接的操作系統(tǒng)映像,可以引導(dǎo)和運(yùn)行應(yīng)用軟件。值得指出的是,為特定項(xiàng)目所裁剪形成的VxWorks映像并不是“鐵板一塊”——從此不可改變,而是可以根據(jù)項(xiàng)目后來的進(jìn)程要求隨時增加或者減少某些部件,最終得到一個最精煉的配置。

采用新的VxWorks 6.2,可以大幅度縮減軟件在設(shè)備中所占用的空間,并且允許軟件開發(fā)人員剔除操作系統(tǒng)中當(dāng)前應(yīng)用軟件不會用到的部分,甚至可以用其他第三方的模塊來取代操作系統(tǒng)中的某個模塊?,F(xiàn)在,設(shè)備軟件開發(fā)人員可以自由地選擇電源管理、文件系統(tǒng)或者調(diào)度程序,以便適應(yīng)自己獨(dú)特的芯片、設(shè)備類型或者運(yùn)行平臺。而且VxWorks操作系統(tǒng)在設(shè)備中所占用的存儲空間比以前的標(biāo)準(zhǔn)版本減少了100KB,大約只剩下35KB左右。

新推出的VxWorks 6.2還帶有一系列面向特定行業(yè)和應(yīng)用領(lǐng)域的框架,可以幫助開發(fā)者確定系統(tǒng)行為、軟件部分存儲器占用量和整體的存儲器需要量。例如,在消費(fèi)電子領(lǐng)域,手機(jī)和數(shù)碼相機(jī)所采用的電源管理方案就是不同的。再比如,在手機(jī)中,當(dāng)用戶正在輸入聯(lián)系人信息的時候,突然有電話呼入,你應(yīng)該采取怎樣的設(shè)計(jì)方案來處理?而在數(shù)碼相機(jī)中又會遇到完全不同的問題?,F(xiàn)在,有了模塊化可裁剪的VxWorks 6.2,就可以根據(jù)不同的應(yīng)用需求對操作系統(tǒng)模塊進(jìn)行取舍。

“裁剪”不能沒有測試

與“可裁剪性”密切相關(guān)的是軟件開發(fā)的測試能力,因?yàn)槿绻麤]有高效率的測試工具,“即插即用”的可靠性就會失去保證。因此,風(fēng)河公司在推出VxWorks 6.2的同時,還在其配套的基于Eclipse的開發(fā)工具Workbench加強(qiáng)了單元測試和代碼診斷能力。

升級后的Workbench是一個功能完善、基于Eclipse開發(fā)環(huán)境的設(shè)備軟件開發(fā)工具,可以與模塊化的VxWolrks很好地配合,靈活地選取系統(tǒng)模塊。而且,風(fēng)河公司還為這個開發(fā)環(huán)境增加了一個配置和向?qū)Чぞ撸瑤椭O(shè)備軟件開發(fā)人員對框架部件和模塊進(jìn)行命名和管理,并且把整個系統(tǒng)快速建構(gòu)起來。

采用新的Workbench,設(shè)備軟件開發(fā)者還可以導(dǎo)入和修改并非出自風(fēng)河的Linux內(nèi)核。如今Linux在設(shè)備軟件中得到大量應(yīng)用,但是有些Linux的軟件包并不能直接拿來就用,而是需要重新配置、修改和優(yōu)化。新推出的Workbench 2.4可以幫助設(shè)備軟件開發(fā)者完成這些工作,而且完全兼容Eclipse 3.1。 

風(fēng)河公司通過收購RTI公司獲得了更好的靜態(tài)分析、代碼測試和診斷能力,已經(jīng)作為Workbench的可選附加軟件提供給設(shè)備軟件開發(fā)者。新的單元測試軟件可幫助軟件開發(fā)者實(shí)施單元測試的自動化。目前大多數(shù)設(shè)備軟件開發(fā)環(huán)境中,單元測試仍然是手工逐步完成的,新的測試工具可以幫助軟件工程師自動完成測試代碼的生成、編寫、報(bào)告和分析工作。而且,新的診斷工具還允許開發(fā)人員不必對代碼進(jìn)行重新編譯,即可在實(shí)際部署和運(yùn)行的系統(tǒng)中執(zhí)行調(diào)試操作。開發(fā)人員可以動態(tài)地放置測試點(diǎn),在代碼中的任何地方收集和跟蹤信息,不論是應(yīng)用層、中間件層還是內(nèi)核都不例外。

面對消費(fèi)電子市場的激烈競爭,設(shè)備軟件開發(fā)所面臨的最大挑戰(zhàn)是在最短的時間內(nèi)開發(fā)出功能可靠、節(jié)省成本的應(yīng)用系統(tǒng)。風(fēng)河公司VxWorks 6.2和Workbench 2.4不僅是多年設(shè)備軟件開發(fā)經(jīng)驗(yàn)積累的結(jié)晶,也是設(shè)備軟件開發(fā)者應(yīng)對當(dāng)今市場挑戰(zhàn)和順應(yīng)未來發(fā)展趨勢的得力助手。


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉