嵌入式軟件開(kāi)發(fā)跨入平臺時(shí)代
可編程器件主要由硬件和軟件兩個(gè)部分構成。其中,硬件部分的成本控制、設計技術(shù)和外包生產(chǎn)商的選擇都已經(jīng)非常成熟,而軟件部分所遇到的問(wèn)題和挑戰越來(lái)越多,這就是嵌入式軟件的開(kāi)發(fā)工具和方法問(wèn)題。軟件對于整個(gè)產(chǎn)品滿(mǎn)足客戶(hù)需求和保持市場(chǎng)份額來(lái)說(shuō)越來(lái)越關(guān)鍵,而與此相關(guān)的成本和時(shí)間控制難度越來(lái)越大。實(shí)際上,許多電子產(chǎn)品生產(chǎn)企業(yè)用于嵌入式軟件開(kāi)發(fā)的方法和工具仍處在“作坊”時(shí)代,這就在成本、時(shí)間和技術(shù)三個(gè)方面對企業(yè)進(jìn)行新產(chǎn)品開(kāi)發(fā)構成了羈絆。特別是在當今電子產(chǎn)品制造業(yè)盛行OEM產(chǎn)銷(xiāo)模式下,嵌入式軟件是決定產(chǎn)品競爭力的核心之一,而其優(yōu)劣則直接取決于嵌入式軟件開(kāi)發(fā)平臺的優(yōu)劣。提升嵌入式軟件開(kāi)發(fā)平臺的水平,應該從哪里做起呢?
系統集成是最佳切入點(diǎn)
據對全球前數十家電子產(chǎn)品廠(chǎng)商的調查顯示,用于嵌入式軟件開(kāi)發(fā)的費用每年達到230億美元,其中91%用于對各種嵌入式軟件模塊進(jìn)行集成,而真正用來(lái)購買(mǎi)這些軟件和服務(wù)的費用只占9%。
與常見(jiàn)的PC和服務(wù)器軟件不同,嵌入式軟件主要是對設備內部各部分的運行進(jìn)行協(xié)調,并不與設備使用者發(fā)生直接接觸。PC和服務(wù)器軟件的運行環(huán)境是標準化的,而嵌入式軟件的運行環(huán)境隨電子設備的不同而不同,必須針對不同的電子產(chǎn)品進(jìn)行專(zhuān)門(mén)的設計、開(kāi)發(fā)和優(yōu)化。事實(shí)上,目前電子產(chǎn)品公司用于購買(mǎi)操作系統和中間件的費用很少,絕大多數費用都花在了系統集成和應用層的開(kāi)發(fā)上,其中選擇供應商、熟悉供應商提供的軟件以及集成工作占用了將近50%的開(kāi)發(fā)時(shí)間。這種手工作坊式的開(kāi)發(fā)方法造成了巨大的人力和財力資源浪費。
現在,越來(lái)越多的電子產(chǎn)品廠(chǎng)商采取OEM的方式把硬件制造外包出去,產(chǎn)品的競爭優(yōu)勢更多地體現在軟件設計上,軟件工程師扮演的角色也因此越來(lái)越重要。IDC的調查顯示,在典型產(chǎn)品開(kāi)發(fā)項目的全部人工費用中,軟件工程人員的費用在20世紀90年代初期到中期約為55%,如今已經(jīng)達到75%。所以說(shuō),降低軟件的人工費用是降低產(chǎn)品開(kāi)發(fā)整體費用的一個(gè)重要突破口。
商業(yè)化成為主流趨勢
10多年前,嵌入式操作系統都是由各電子產(chǎn)品廠(chǎng)商自己開(kāi)發(fā),但如今人們已經(jīng)普遍接受了嵌入式操作系統的商業(yè)化。隨著(zhù)市場(chǎng)需求和技術(shù)的發(fā)展,不僅操作系統應該商業(yè)化,開(kāi)發(fā)環(huán)境和中間件也逐漸進(jìn)入商業(yè)化階段。
在科學(xué)技術(shù)的世界里有一個(gè)通行的規則——站在前人的肩膀上,充分利用前人已經(jīng)取得的成果,把自己的精力專(zhuān)注于自己具有獨特競爭優(yōu)勢的地方。在嵌入式軟件開(kāi)發(fā)方面,通過(guò)購買(mǎi)的方式取得前人已有的研究成果,就是這種通行規則的重要體現。實(shí)際上,除了嵌入式操作系統,市場(chǎng)上還有無(wú)數可重復使用的商品化嵌入式軟件模塊。
例如,Wind River公司等一批嵌入式軟件供應商通過(guò)多年來(lái)的積累,已經(jīng)開(kāi)發(fā)出許多通用的嵌入式中間件,但許多客戶(hù)并沒(méi)有采用它們,而是耗費大量的內部資源去做重復性的工作,在入門(mén)和集成這兩個(gè)環(huán)節造成了不必要的資源浪費。也有一些用戶(hù)已經(jīng)花了大量的金錢(qián)購買(mǎi)這些商用軟件,但是由于這些商用軟件在系統集成方面所做的工作不夠充分,還要用戶(hù)在這些方面花費大量的人力,顯然對這些商用軟件所帶來(lái)的實(shí)際利益大打折扣。
近期,Wind River推出了風(fēng)河平臺(Wind River Platform),不僅包含了各行各業(yè)常用的嵌入式軟件開(kāi)發(fā)工具,而且在系統集成方面做了大量的工作,就是希望讓電子產(chǎn)品公司意識到,不必自行開(kāi)發(fā)那些人人都有的通用功能,而應該釋放出更多的資源去提升自己的獨特競爭力。風(fēng)河平臺可以讓用戶(hù)感覺(jué)到:現在集成真的可以買(mǎi)得到,而且買(mǎi)得起。另外,Microsoft Windows CE、Linux等嵌入式開(kāi)發(fā)工具進(jìn)入這個(gè)市場(chǎng),也為這個(gè)領(lǐng)域帶來(lái)了新的商業(yè)模式。
平臺化步入成熟階段
要提高嵌入式軟件的生產(chǎn)效率必須解決兩個(gè)問(wèn)題:一是不必要讓所有的軟件從頭到尾全部都由自己開(kāi)發(fā);二是所編寫(xiě)的應用軟件有高度的可重用性。要解決這兩個(gè)問(wèn)題,就需要嵌入式軟件供應商提供平臺化的嵌入式軟件開(kāi)發(fā)環(huán)境。例如,美國風(fēng)河公司就是在這一形勢下推出了自己的嵌入式軟件開(kāi)發(fā)平臺。
嵌入式軟件開(kāi)發(fā)平臺應具有層次高、硬件支持范圍廣、高度集成、高可靠性等特點(diǎn),而且入門(mén)費用比較低廉,便于廣大用戶(hù)接受。
所謂“層次高”是指嵌入式軟件開(kāi)發(fā)平臺不僅僅是一個(gè)嵌入式操作系統,而是集操作系統、開(kāi)發(fā)工具和中間件于一身的開(kāi)發(fā)環(huán)境。用戶(hù)可以從中間件以上的層次開(kāi)始自己的開(kāi)發(fā)工作;
“硬件支持范圍廣”是指嵌入式軟件開(kāi)發(fā)平臺支持常見(jiàn)的32位以上流行的微處理器,用戶(hù)不會(huì )因為硬件的變化而更換軟件平臺;
“高度集成”是說(shuō)平臺不是模塊的簡(jiǎn)單堆積,而是有機的集成。用戶(hù)不用關(guān)心平臺中模塊間的相互協(xié)調,而是專(zhuān)注于應用程序的開(kāi)發(fā);
“高可靠性”平臺的目的是使用戶(hù)可以專(zhuān)注于開(kāi)發(fā)應用程序。如果平臺本身問(wèn)題很多,用戶(hù)必須花費很多時(shí)間來(lái)理解平臺進(jìn)而發(fā)現其中的問(wèn)題,這樣失去了平臺化的意義。
入門(mén)費代表一項技術(shù)的進(jìn)入門(mén)檻。平臺的另一個(gè)含義就是標準化,而標準化的重要體現就是有廣泛的用戶(hù)群。
多年來(lái),與標準化的服務(wù)器和PC軟件相比,嵌入式軟件開(kāi)發(fā)工具是一個(gè)相對封閉的領(lǐng)域??墒墙陙?lái)隨著(zhù)Microsoft Windows CE和眾多嵌入式Linux進(jìn)入這個(gè)領(lǐng)域,這種封閉的局面開(kāi)始被打破。通用性、商業(yè)化、進(jìn)入門(mén)檻低,是這些后來(lái)者的優(yōu)勢。但是,在系統可靠性和開(kāi)發(fā)使用經(jīng)驗方面,Wind River這樣的嵌入式軟件專(zhuān)業(yè)廠(chǎng)商仍然占據著(zhù)優(yōu)勢地位。尤其是在航空航天、國防軍工領(lǐng)域,對系統可靠性的要求極高。而風(fēng)河公司這樣的專(zhuān)業(yè)嵌入式軟件提供商的產(chǎn)品可靠性是經(jīng)過(guò)業(yè)界廣泛使用而證明了的。
面對Windows CE和嵌入式Linux的大舉進(jìn)攻,風(fēng)河這樣的傳統嵌入是軟件廠(chǎng)商也積極應對,調整了商業(yè)模式,大大降低了商業(yè)化嵌入式軟件開(kāi)發(fā)平臺的進(jìn)入門(mén)檻。讓電子產(chǎn)品企業(yè)在可靠的商業(yè)化平臺上進(jìn)行標準化的開(kāi)發(fā)工作,這就是專(zhuān)業(yè)嵌入式軟件工具研發(fā)公司的價(jià)值所在。
行業(yè)化是平臺化的高級階段
一個(gè)新的電子產(chǎn)品的研發(fā)成功是電子產(chǎn)品廠(chǎng)商和嵌入式軟件平臺廠(chǎng)商共同努力的結晶。嵌入式軟件平臺廠(chǎng)商做的工作越多,電子產(chǎn)品廠(chǎng)商所必需做的工作就越少。嵌入式軟件平臺廠(chǎng)商必須從電子產(chǎn)品廠(chǎng)商的應用需求中提取共同的特性,并將這些特性融入自己的開(kāi)發(fā)平臺之中,只有這樣才能使之在一定范圍內具有適用性。
顯然,相同行業(yè)對于嵌入式軟件開(kāi)發(fā)的需求具有許多共同的特性,行業(yè)領(lǐng)域是界定需求特征的重要依據。面向不同的行業(yè)應用,對嵌入式軟件平臺進(jìn)行有針對性的定制,就比面向所有的行業(yè)提供相同的軟件開(kāi)發(fā)平臺具有更好適應能力。也就是說(shuō),通過(guò)面向行業(yè)應用,嵌入式軟件平臺廠(chǎng)商可以為電子產(chǎn)品廠(chǎng)商提供更多的輔助功能和支持。
基于這樣的認識,一些有經(jīng)驗的嵌入式軟件專(zhuān)業(yè)廠(chǎng)商不僅長(cháng)期研究嵌入式軟件開(kāi)發(fā)工作中的普遍需求,從中提取出共性的東西,形成普遍適用的開(kāi)發(fā)平臺,而且致力于研究分析不同行業(yè)對于嵌入式軟件開(kāi)發(fā)的特殊需求,推出了面向特定行業(yè)的嵌入式軟件開(kāi)發(fā)平臺。
不久前,風(fēng)河公司根據應用需求的變化,重新規劃了產(chǎn)品線(xiàn),分別面向消費電子產(chǎn)品、工業(yè)電子產(chǎn)品、國防軍工、網(wǎng)絡(luò )設備和汽車(chē)電子等領(lǐng)域推出了特定的嵌入式軟件開(kāi)發(fā)平臺,統稱(chēng)為Wind River Platform。其中集成了操作系統、開(kāi)發(fā)工具、連網(wǎng)模塊、通信接口、設備管理等模塊,為電子產(chǎn)品的開(kāi)發(fā)提供了全方位的支持。 Wind River把相關(guān)的中間件、協(xié)議和工具組合起來(lái),為不同的行業(yè)提供相對通用的基礎模塊。這種做法不僅改變了Wind River的業(yè)務(wù)模式,也改變了Wind River的客戶(hù)乃至整個(gè)嵌入式軟件行業(yè)的工作模式,為電子產(chǎn)品生產(chǎn)企業(yè)提高客戶(hù)滿(mǎn)意度和產(chǎn)品市場(chǎng)競爭力提供了更加直接的支持。
總的來(lái)說(shuō),嵌入式軟件開(kāi)發(fā)平臺化的趨勢正在加劇,商業(yè)化的嵌入式軟件開(kāi)發(fā)平臺正在迅速取代企業(yè)自有的開(kāi)發(fā)工具,面向各個(gè)行業(yè)的嵌入式軟件開(kāi)發(fā)平臺正在贏(yíng)得電子工業(yè)的廣泛認同。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論