嵌入式軟體

用於軟體工程領域的模塊化軟體

嵌入式軟體就是嵌入在硬體中的操作系統和開發工具軟體,它在產業中的關聯關係體現為:晶元設計製造→嵌入式系統軟體→嵌入式電子設備開發、製造。

發展沿革


談到嵌入式軟體的形成,必須從計算機發展的三個階段開始。
第一階段:早期的嵌入式系統設計方法,通常是採用“硬體優先”的原則。在粗略估計軟體任務需求的情況下,首先進行硬體設計與實現。然後,在此硬體平台之上,再進行軟體設計。因而很難達到充分利用硬體軟體資源,取得最佳性能的效果。同時,一旦在測試時發現問題,需要對設計進行修改時,整個設計流程將重新進行,對成本和設計周期的影響很大。這種傳統的設計方法只能改善硬體/軟體各自的性能,在有限的設計空間不可能對系統做出較好的性能綜合優化,在很大程度上依賴於設計者的經驗和反覆實驗。
第二階段:90年代以來隨著電子系統功能的日益強大和微型化,系統設計所涉及的
嵌入式軟體
嵌入式軟體
問題越來越多,難度也越來越大。同時硬體和軟體也不再是截然分開的兩個概念,而是緊密結合、相互影響的。因而出現了軟硬體協同(codesign)設計方法,即使用統一的方法和工具對軟硬體,協同設計軟硬體體系結構,以最大限度地挖掘系統軟硬體能力,避免由於獨立設計軟硬體體系結構而帶來的種種弊病,得到高性能低代價的優化設計方案
進入90年代以來,以計算機技術、通信技術和軟體技術為核心的信息技術取得了更加迅猛的發展,各種裝備與設備上嵌入式計算與系統的廣泛應用大大地推動了行業的滲透性應用。嵌入式系統被描述為:“以應用為中心、軟體硬體可裁剪的、適應應用系統對功能、可靠性、成本、體積、功耗等嚴格綜合性要求的專用計算機系統”,由嵌入式硬體和嵌入式軟體兩部分組成。硬體是支撐,軟體是靈魂,幾乎所有的嵌入式產品中都需要嵌入式軟體來提供靈活多樣、而且應用特製的功能。由於嵌入式系統應用廣泛,嵌入式軟體在整個軟體產業中佔據了重要地位,並受到世界各國的廣泛關注;如今已成為信息產業中最為耀眼的“明星”之一。

主要功能


獨特的實用性
嵌入式軟體是為嵌入式系統服務的,這就要求它與外部硬體和設備聯繫緊密。嵌入式系統以應用為中心,嵌入式軟體是應用系統,根據應用需求定向開發,面向產業、面向市場,需要特定的行業經驗。每種嵌入式軟體都有自己獨特的應用環境和實用價值。
靈活的適用性
嵌入式軟體通常可以認為是一種模塊化軟體,它應該能非常方便靈活地運用到各種嵌入式系統中,而不能破壞或更改原有的系統特性和功能。嵌入式軟體要使用靈活,應盡量優化配置,減小對系統的整體繼承性,升級更換靈活方便。
程序代碼精簡
由於嵌入式系統本身的應用有小體積、小存儲空間、低成本、低功耗等要求,嵌入式軟體和大型機上的軟體相比,具有代碼精簡、執行效率高等特點。
可靠性、穩定性高
嵌入式系統應用要求一般較為苛刻,特別是在涉及安全相關的領域,如汽車電子、工業控制、航空航天等,這些領域的嵌入式系統不僅要求硬體可靠,還對嵌入式軟體提出了更高的要求。嵌入式軟體需要運行可靠、穩定,具有錯誤處理及故障恢復等功能。

簡介


嵌入式軟體與嵌入式系統是密不可分的,嵌入式系統是“控制、監視或者輔助設備、機器和車間運行的裝置”,就是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬體設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用於實現對其他設備的控制、監視或管理等功能。而嵌入式軟體就是基於嵌入式系統設計的軟體,它也是計算機軟體的一種,同樣由程序及其文檔組成,可細分成系統軟體、支撐軟體、應用軟體三類,是嵌入式系統的重要組成部分。

實際應用


嵌入式軟體
嵌入式軟體
嵌入式軟體廣泛應用於國防、工控、家用、商用、辦公、醫療等領域,如我們常見的行動電話、掌上電腦、數碼相機機頂盒、MP3等都是用嵌入式軟體技術對傳統產品進行智能化改造的結果。
嵌入式軟體在中國的定位應該集中在國防工業和工業控制、消費電子、通信產業。
首先一個市場是數字電視市場。中國有8000萬戶有線電視網用戶、1億以上有線電話網用戶、3億多台彩色電視機、7000多萬台VCD/DVD機,據估計,未來十年是機頂盒的黃金時期,十年間總量可達到1~1.5億台,總產量將達到600~1500億元人民幣。
第二個市場是移動通信市場。中國是全球第二大手機消費國,今年,中國手機的用戶將達到7000萬,據預計,明年,中國將成為全球第一大手機消費國;國內GSM手機定點廠家已達到14家,如果每個手機定點廠家的年產量達到100萬台(盈利點),則總產量將達到1400萬台。
第三個市場是掌上電腦(PDA)。計算機正在向微型化和專業化方向發展,PDA在5年內總銷量將達到3000萬台,總產值達到300億元。
綜合三個市場,當前的形勢為:數字電視市場已開始啟動;2.5G和3G手機的研發已開始,國內手機廠家的市場拓展已取得初步成功;PDA市場已初步形成規模。

分類


按照通常的分類方法,嵌入式軟體可以分為系統軟體、應用軟體和支撐軟體三大類。
系統軟體
系統軟體控制和管理嵌入式系統資源,為嵌入式應用提供支持的各種軟體,如設備驅動程序、嵌入式操作系統、嵌入式中間件等。
應用軟體
應用軟體是嵌入式系統中的上層軟體,它定義了嵌入式設備的主要功能和用途,並負責與用戶進行交互。應用軟體是嵌入式系統功能的體現,如飛行控制軟體、手機軟體、MP3播放軟體、電子地圖軟體等,一般面向特定的應用領域。
支撐軟體
支撐軟體是指輔助軟體開發的工具軟體,如系統分析設計工具、在線模擬工具、交叉編譯器源程序模擬器和配置管理工具等。
在嵌入式系統當中,系統軟體和應用軟體運行在目標平台上(即嵌入式設備上),而對於各種軟體開發工具來說,它們大部分都運行在開發平台(PC機)上,運行Windows或 Linux操作系統。
1、嵌入式操作系統:嵌入式操作系統EOS(Embedded Operating System)是一種用途廣泛的系統軟體,過去它主要應用於工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬體資源的分配、調度工作,控制、協調併發活動;它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。嵌入式操作系統通常以商業運作為主,從上世紀80年代起,商業化的嵌入式操作系統開始得到蓬勃發展。現在國際上有名的嵌入式操作系統有Windows CE、Palm OS、Linux、VxWorks、pSOS、QNX、OS-9、LynxOS等,已進入我國市場的國外產品有WindRiver、Microsoft、QNX和Nuclear等。我國嵌入式操作系統的起步較晚,國內此類產品主要是基於自主版權的Linux操作系統,其中以中軟Linux、紅旗Linux、東方Linux為代表。
2、嵌入式支撐軟體:支撐軟體是用於幫助和支持軟體開發的軟體,通常包括資料庫和開發工具,其中以資料庫最為重要。嵌入式資料庫技術已得到廣泛的應用,隨著移動通信技術的進步,人們對移動數據處理提出了更高的要求,嵌入式資料庫技術已經得到了學術、工業、軍事、民用部門等各方面的重視。嵌入式移動資料庫或簡稱為移動資料庫(EMDBS)是支持移動計算或某種特定計算模式的資料庫管理系統,資料庫系統與操作系統、具體應用集成在一起,運行在各種智能型嵌入設備或移動設備上。其中,嵌入在移動設備上的資料庫系統由於涉及資料庫技術、分散式計算技術,以及移動通訊技術等多個學科領域,目前已經成為一個十分活躍的研究和應用領域。國際上主要的嵌入式移動資料庫系統有Sybase、Oracle等。我國嵌入式移動資料庫系統以東軟集團研究開發出了嵌入式資料庫系統OpenBASE Mini為代表。由於我國在
3、嵌入式應用軟體:嵌入式應用軟體是針對特定應用領域,基於某一固定的硬體平台,用來達到用戶預期目標的計算機軟體。由於用戶任務可能有時間和精度上的要求,因此有些嵌入式應用軟體需要特定嵌入式操作系統的支持。嵌入式應用軟體和普通應用軟體有一定的區別,它不僅要求其準確性、安全性和穩定性等方面能夠滿足實際應用的需要,而且還要儘可能地進行優化,以減少對系統資源的消耗,降低硬體成本。目前我國市場上已經出現了各式各樣的嵌入式應用軟體,包括瀏覽器、Email軟體、文字處理軟體、通訊軟體、多媒體軟體、個人信息處理軟體、智能人機交互軟體、各種行業應用軟體等。嵌入式系統中的應用軟體是最活躍的力量,每種應用軟體均有特定的應用背景,儘管規模較少,但專業性較強,所以嵌入式應用軟體不象操作系統和支撐軟體那樣受制於國外產品壟斷,是我國嵌入式軟體的優勢領域。

未來發展


嵌入式軟體產業發展迅猛,已成為軟體體系的重要組成部分。嵌入式系統產品正不斷滲透各個行業,嵌入式軟體作為包含在這些硬體產品中的特殊軟體形態,其產業增幅不斷加大,而且在整個軟體產業的比重日趨提高。2003年全球嵌入式軟體市場規模達到346億美元,2003年中國市場規模達到188億元,預計到2006年嵌入式軟體市場規模將突破400億元大關,2003-2006年均複合增長率將達到30%。
新一輪汽車、通訊、信息電器、醫療、軍事等行業的巨大的智能化裝備需求拉動了嵌入式軟體及系統的發展。同傳統的通用計算機系統不同,嵌入式系統面向特定應用領域,根據應用需求定製開發,並隨著智能化產品的普遍需求滲透到各行各業。隨著硬體技術的不斷革新,硬體平台的處理能力不斷增強,硬體成本不斷下降,嵌入式軟體已成為產品的數字化改造、智能化增值的關鍵性、帶動性技術。
嵌入式軟體
嵌入式軟體
SOC技術是微電子技術發展的一個新的里程碑,並已成為當今超大規模IC的發展趨勢,為IC產業提供前所未有的廣闊市場和難得的發展機遇。迅猛發展的SOC工業再次地推進了嵌入式軟體與硬體系統進一步融合嵌入,嵌入式軟體是其靈魂與核心。SOC技術的出現,改變了傳統嵌入式系統的設計觀念,基於IP構件庫的設計技術將成為嵌入式系統設計的主流;IP構件庫技術正在造就一個新興的軟體行業。
目前的網際網路技術只聯接了5%左右的計算裝置,大量的嵌入式設備急需網路連接來提升其服務能力和應用價值。同時,以人為中心的普適計算技術正推動新一輪的信息技術的革命。計算無所不在,嵌入式設備將以各種形態分佈在人類的生存環境中,提供更加人性化、自然化的服務。網際網路的"深度"聯網和普適計算"縱向"普及所帶來的計算挑戰,將推動嵌入式軟體技術向"縱深"發展,催生了新型嵌入式軟體技術。
近十年來,嵌入式操作系統得到飛速的發展:微處理器從8位到16位、32位甚至64位;從支持單一品種的CPU晶元到支持多品種的;從單一內核到除了內核外還提供其他功能模塊,如文件系統,TCP/IP網路系統,窗口圖形系統等;並形成包括嵌入式操作系統、中間平台軟體在內的嵌入式軟體體系。硬體技術的進步,推動了嵌入式系統軟體向運行速度更快、支持功能更強、應用開發更便捷的方向不斷發展。
嵌入式發展預測圖
嵌入式發展預測圖
隨著嵌入式系統應用的不斷深入和產業化程度的不斷提升,新的應用環境和產業化需求對嵌入式系統軟體提出了更加嚴格的要求。在新需求的推動下,嵌入式操作系統內核不僅需要具有微型化、高實時性等基本特徵,還將向高可信性、自適應性、構件組件化方向發展;支撐開發環境將更加集成化、自動化、人性化;系統軟體對無線通信和能源管理的功能支持將日益重要。
行業性開放系統正日趨流行。統一的行業標準具有開放、設計技術共享、軟硬體重用、構件兼容、維護方便和合作生產的特點,是增強行業性產品競爭能力的有效手段。嵌入式操作系統本身正走向開放化、標準化;Linux正逐漸成為嵌入式操作系統的主流;J2ME技術也將對嵌入式軟體的發展產生深遠影響。目前自由軟體技術備受青睞,並對軟體技術的發展產生了巨大的推動作用,這為我國加快發展嵌入式軟體技術提供了極好機遇和條件。
從國家戰略目標與產業發展來看,嵌入式軟體是實現傳統製造業轉型與提升的關鍵技術,她對整體提升我國製造業的競爭能力、大幅度地增強??立專用計劃與項目,推動嵌入式軟體技術與產業的技術進步與快速發展。
我們認為中國在發展嵌入式軟體方面,應大力發展關鍵性、共性化的嵌入式操作系統與嵌入式軟體平台;圍繞行業,聚焦行業,依託龍頭企業,突出重點區域,建設面向領域的嵌入式軟體平台系統,提升我國嵌入式操作系統廠商的整體實力,提升整機製造行業在嵌入式軟體上的核心競爭力;面向產業鏈,建設上下配合左右互動的合作性戰略產業技術聯盟,促進嵌入式軟體產業的快速發展。
嵌入式技術正飛速發展,並期待著在各種行業的深入滲透。我國具有雄厚的製造業基礎,與傳統的製造業結合,嵌入式系統有著巨大的市場空間。同時,基於嵌入式技術的應用和技術創新,將推動新產品、新產業的誕生。在巨大的市場需求和新的產業契機的推動下,嵌入式軟體成為中國軟體業的一次難得的機遇,是10年一遇的機會。智能手機、數字電視、以及汽車電子的嵌入式應用,是這次機遇中難遇的切入點;機遇與挑戰並存。

開發


不同於通用計算機和工作站上的軟體開發工程,一個嵌入式軟體的開發過程具有很多特點和不確定性。其中最重要的一點是軟體跟硬體的緊密耦合特性。由於嵌入式系統的靈活性和多樣性,這樣就給軟體設計人員帶來了極大的困難:第一,在軟體設計過程中過多地考慮硬體,給開發和調試都帶來了很多不便;第二,如果所有的軟體工作都需要在硬體平台就緒之後進行,自然就延長了整個的系統開發周期。這些都是應該從方法上加以改進和避免的問題。為了解決這個問題,我們可以在特定的EDA工具環境下面進行開發,通過後再進行移植到硬體平台的工作。這樣既可以保證程序邏輯設計的正確性,同時使得軟體開發可平行甚至超前於硬體開發進程。