嵌入式軟件的PC化趨勢
摘要:文章敘述源自PC的虛擬化軟件和開源軟件正在逐漸滲透到嵌入式系統各個方面。
關鍵詞:嵌入式軟件;虛擬化;移動互聯網;標準化;Linux
隨著移動互聯網應用漸漸走熱,Inel 嵌入式X86芯片重返市場,傳統的嵌入式系統平臺、軟件開發方式和操作系統都在發生著變化。一個方面,互聯網需要更多已經在PC使用的應用軟件,能夠在各種移動終端上使用;另一個方面,計算密集和數據密集的趨勢要求嵌入式系統具有越來越處理能力,PC化則是一個解決這個問題的途徑之一。
嵌入式系統和PC的融合
嵌入式系統和PC一直是有著難解之緣,以ISA總線標準發展起來的PC104,是嵌入式PC到今天依然大量使用的工業標準。DOS/Borland C是深受喜愛的嵌入式PC操作系統和開發工具之一。90年代以后,在摩爾定律推動下,Intel和微軟聯手推動了一輪又一輪的PC升級換代之路,也使得嵌入式系統和PC越走越遠,以單片機(MCU)為代表嵌入式處理器技術成熟, RTOS(嵌入式操作系統,如uc/os-II,Vxwork) 和IDE(Keil、IAREW)的嵌入式軟件開發模式已經形成,獲得了廣泛的認可和成功。
2000年以后,嵌入式Linux和ARM SoC嵌入式平臺給嵌入式系統帶來革命性的變革,比較起傳統的MCU平臺,一個典型ARM2410單板、嵌入式Linux2.4、Qt圖形界面,它包含設備驅動、網絡、文件、圖形和豐富應用,是一個完整OS和交叉開發環境,非常接近人們熟悉的PC環境,可以適合多數消費電子、通訊、工業控制嵌入式系統應用要求。但是面對高計算、互聯網和多媒體應用的移動互聯網設備、數字多媒體中心、網絡存儲和超便攜上網筆記本等應用時,基于交叉編譯的ARM/Linux/WinCE系統,比較起X86/Linux/Windows XP系統,顯得開發時間和難度要大得多了,在設備端重新移植成熟應用和測試過程耗費了大量的時間和人力;在服務器端,由于待測試的各種終端的種類、OS、瀏覽器不一,所以許多網絡應用的廠家只能支持有限數量的終端和瀏覽器版本,所以,PC Windows/IE就成為多數網絡應用支持的對象。
ARM、Adobe和Canonical合作將把Ubuntu 和Flash Player 10移植到ARM上,這無疑是嵌入式軟件和PC 融合的重要信號。Flash Player 是目前網絡上最為流行的瀏覽和播放軟件,也是運行在X86/Windows/Linux 平臺,它對于ARM 體系結構的支持將大大提高ARM 芯片在互聯網終端的地位,Ubuntu是國際上成功的Linux開源桌面操作系統。最近發表的8.10版本,加強了對3G移動網絡的支持,計劃支持超低功耗的ARMV7(CortexA8/A9)處理器,將擴展Ubuntu 操作系統在移動互聯網終端上的地位,同時也為嵌入式系統開發提供一種標準的PC環境, 其實Ubuntu 因為尺寸小巧,是嵌入式X86/PC廠家主要支持的嵌入式Linux平臺之一。無論是Intel嵌入式X86,還是ARM的SoC技術,都在引領著行業向著滿足高性能計算要求的軟硬件PC化方向發展。
嵌入式虛擬化軟件
PC化的嵌入式軟件具有通用、開放的特點,但是要完全滿足安全性、實時性和可繼承性的需求還有距離,虛擬化軟件正好是一個補充。虛擬化在服務器已經取得了成功,正在進軍桌面和嵌入式系統,著名的vmware最近宣布將推出智能手機的虛擬化軟件版本。虛擬化可以用在多核、單核高性能處理器上運行,一是解決安全性問題;比如構建一個安全操作系統和開放操作系統環境手機保證移動網上銀行安全支付問題。二是解決軟件再用問題;比如大量已經驗證了通訊代碼和私有的RTOS,通過虛擬化和通用的操作系統(GOS)結合形成全新的高密度計算平臺。三是解決實時性問題;專用的實時RTOS和GOS-Linux,Windows并存。四是解決多核編程問題;介于目前多核軟件普遍滯后硬件芯片的情況,虛擬化可以幫助用戶在不改變編程模式和設計思想的前提下,充分發揮多核芯片的性能。即在不同的核上運行不同的操作系統,運行RTOS的完成通訊設備的網絡數據流的處理和分析;運行Linux的核負責系統數據庫管理和人機界面。虛擬化技術如果使用得當,它可以在嵌入式系統和PC化軟件之間架起一座橋梁。嵌入式系統對于虛擬化技術有其特出要求,比如非X86體系結構、尺寸和實時性等,目前開源項目Xen(www.xen.org/)在這個方面還有差距,商業的產品有VirtualLogix 的VLX,它提供支持通訊平臺,移動終端和通用嵌入式系統的各個產品線方案,產品線豐富和成熟;OK-Labs是基于開源OKL4微內核虛擬化軟件,重點支持手機的虛擬化方案;風河公司近日也宣布將推出作為整個多核方案一個部分的虛擬化軟件。
嵌入式軟件的PC化趨勢,目前還是體現在高性能計算要求的場合,即使一個再復雜的洗衣機和電冰箱也不必需要一個800M主頻的ARM SoC,或者Intel Atom 處理器,單片機完全可以解決問題了。嵌入式系統多樣性決定了各種芯片技術、通訊技術、軟件、設計思想都可以在嵌入式系統找到自己的位置。
參考文獻:
[1] 何小慶. 我和中國單片機和嵌入式20年[j]單片機與嵌入式系統應用 2008.1
[2] 何小慶.交叉編譯:ARM搏擊Intel的軟肋[j]電子產品世界,2008.11
[3]Tudor Brow.Partnership: Together we can do anything[M] ARM Connected Community Technical Symposium 2008.11 ARM中國公司
[4]Bernard Cole.Embedded is [still] as embedded does[j] embedded systems design 2008.11.12
[5]Michael Paczan.Electronics virtualization restored innovation and profit to electronic[j]embedded systems design 2008.11.34
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論