目前嵌入式作業系統呈現多元話趨勢,為了使大家更全面的了解嵌入式作業系統的種類,我将其整理如下:希望會對廣大嵌入式開發愛好者有所幫助。
嵌入式開發 嵌入式作業系統 嵌入式系統
DOS微軟一開始選用了帕特森的Q-DOS " QUICK AND DISK OPERATING SYSTEM " 為基礎然後再擴充功能而成 MS-DOS , 主要是采用由IBM 提供的使用8088 微處理器的計算機作開發平台, 它是以16 位元組單人單工作業系統。
Windows CE雖然微軟 Windows 系統已經稱霸了 PC Desktop 環境。但是對于
嵌入式系統這塊大餅,微軟也是垂涎已久,桌上型的 Windows 桌業系統對于嵌入式系統來說自然是太過于肥大的産物,于是微軟推出精簡版的 Windows CE 作為進攻嵌入式系統的主力。目前主要應用于 PDA 上頭,但是跟微軟一系列 Windows 系統一般,Windows CE也承襲了原有的缺點:耗系統資源、不穩定、效率不佳..等等。毛病實在太多,後來将整個架構重新改寫後推出 Windows CE 3.0 版,或稱為 Pocket PC。改版之後的确改進了不少缺點。
Windows CE 可應用于 PDA 、WebPAD、Thin Client等等。
Palm由 Palm Computing 公司的嵌入式作業系統,目前最大的應用在 PDA ,是市場占有率最高的 PDA 作業系統,Palm 作業系統架構非常簡潔,因為少去了很多功能,如記憶體管理、多任務..等等,使得 Palm 可以非常不耗系統資源,硬體需求低,連帶的整體耗電量便可壓縮到非常低,是以采用 Palm 作業系統的 PDA 都有待機時間長的優點。
EPOC由英國手持裝置大廠 Psion 所開發,常用于 PDA 與手機結合的場合。最有名的例子 Nokia 9110 ( 附圖 4 )系列手機,它就是采用 EPOC 系統。
著名的嵌入式實時系統實時系統是嵌入式系統裡頭非常重要的一環,很多人都誤以為實時系統執行速度非常快的系統,事實上不然,所謂實時代表的意義是『實時反應』,一般多人多任務作業系統如:Windows 、 UNIX ,在上面執行的軟體都一起分享 CPU ,因為 CPU 速度快,是以我們感覺好像可以同時執行多支軟體,其實在系統内部的同一時間内都隻有一個程式在執行,每個軟體都必須排隊,而且規定隻能用一小段時間後就要換下一位,但是因為 CPU 速度夠快,很快又可以被執行到,是以人們感覺并不會很明顯軟體是一段一段在執行。這是一般所謂的非實時性的作業系統運作模式,而實時作業系統具有立即反應而且不能讓出資源的特性,例如汽車的 ABS 煞車系統,如果不采用能夠立即反應的實時系統,後果可就不堪設想。而這類的應用多半多屬體積小、功能簡單的地方,是以也算是嵌入式系統。 QNX 的 QNX OS 、WindRiver 的 VxWorks、Microware 的 OS9、pSOS 等等,都是有名的
嵌入式實時系統公司。
Linux耶? Linux 不是都用來做伺服器嗎?不然就是 Cluster,怎麼會跟嵌入式系統扯上關系?不要懷疑,Linux 除了對伺服工作應付自如外,嵌入式系統也難不倒 Linux。
那麼究竟 Linux 有怎樣獨特的能耐,可以想變大就變大想縮小就縮小?又用 Linux 來發展嵌入式系統有什麼優點?請看底下介紹。
- 開放原始碼、子產品化設計
Linux 采用 GPL 授權,除了把原始碼公開以外,任何人都可以自由使用、修改、散布,而 Linux 核心本身采子產品化設計,讓人很容易增減功能,例如我的平台并不需要藍芽的功能,我隻要不把這項功能加入,有需要就加入,不需要就删除,由于這樣的高的彈性,我們可以調校出最适合我們硬體平台的核心出來。
相較于 Linux ,Windows 是走封閉原始碼路線,是以我們完全無法得知或修改它的核心部份。另外因為是采用 GPL 授權自然就沒有什麼權利金或保密協定的限制。
- 穩定性夠
Linux 不屬于任何一家公司,但是它的開發人員卻是全世界最多的,每天在全球都有無數的人參與 Linux Kernel 的改進、除錯、測試,這樣嚴苛的條件造就了穩定度高的 Linux 。
就因為如此,Linux 雖不是商業的産物但是品質卻不遜于商業産品。
- 網絡功能強大
Linux 的架構是參造 UNIX 系統而來,是以 Linux 也承襲了 UNIX 強大的網絡功能。在這個每樣事情都講求網絡的時代下,隻能說是 Linux 大放異彩的年代。未來可能家裡的電冰箱、冷氣、電視機都會連上網絡,如何增加這些家電的網絡功能,Linux 可以替他們辦到。
- 跨平台
Linux 一開始是基于 Intel 386 機器而設計,但是随着網絡的散布,各式各樣的需求湧現,是以就有許多工程師緻力于各式平台的移植,造成了 Linux 可以在 x86、MIPS、ARM/StrongARM、PowerPC、Motorola 68k、Hitachi SH3/SH4、Transmeta..等等平台上運作的盛況。這些平台幾乎涵蓋了所有嵌入式系統所需的 CPU,是以選擇 Linux 就可以把更多的硬體平台納入考慮的範圍。
嵌入式環境不如 x86 PC 那樣單純,嵌入式環境所采用的 CPU 架構之多,使用 Linux 作開發,就等于有更多硬體的選擇,硬體成本是商業公司考慮的一大重點,選擇多自然可以找到最合适的硬體,對于公司的競争力是有極大的幫助。
- 應用軟體衆多
自由軟體世界裡有個很大的特色就是軟體超級多,而且幾乎都是符合 GPL 标準,換句話說,大家都可以自由取用,因為這些軟體多半是由工程師業餘空暇時間所發展,而且不以營利為性質,是以并不能擔保這些軟體完全沒有 BUG ,但是仍舊有許多殺手級的軟體出現,大家熟知的 KDE 與 GNOME 便是很好的證明,當然與嵌入式系統較為相關如:gcc 編譯器、Kdevelop ( 附圖 5 )整合式開發環境..等等。
通常我們都會先在 PC 端造出模拟出嵌入式的環境,并直接在上頭開發,是以用的工具也都與開發一般 Desktop 軟體類似,良好的工具能夠增加開發的速度。
- 選擇多樣
如果公司有能力可以自己實作 Linux 嵌入式系統,因為程式代碼全部都開放在那裡,您可以随心所欲的設計出自己想要的 Embedded Linux 系統,但是有更多的公司的業務重點不在于此,這時候您也可以選擇購買商業版的 Embedded Linux 系統,像是有名的 Redhat 公司、Lineo、MontaVista..等等,這些都是商業的 Linux 公司,購買他們的産品就可以得到完整的服務。是以商業或非商業全都在于您的需求。
自行開發系統當然您也可以自行開發系統,嚴格控制硬體,但是相對的必須投注更大的成本在于研發系統上,原則上如果目标簡單明确隻是一些基本的 I/O 控制,例如:跑馬燈。便适合自己開發,但是如果系統過于複雜則必須審慎評估自行研發的難度與時程的控管。
以上提到的幾款嵌入式作業系統大家覺的怎麼樣,歡迎與我聯系http://www.armodm.com 手機:13148818895 小靈通:21192100餘煥麗我們共同讨論,此外今後我會多寫關于嵌入式 arm 嵌入式系統
嵌入式開發等相關方面的文章,到時大家一定要來