《嵌入式操作系統(tǒng)史話》之二:嵌入式OS 的“摩托”系
靠摩托羅拉起家的OS-9
摩托羅拉自1974年發(fā)布第一款MC6800 --8位微處理器到1979發(fā)布的MC68000(簡(jiǎn)稱68K)-16/32位CPU之后,其芯片因?yàn)榧纯梢允褂迷谟?jì)算機(jī)系統(tǒng)中,也可以使用在嵌入式系統(tǒng),很快成為當(dāng)時(shí)行業(yè)的標(biāo)準(zhǔn)。最早開發(fā)嵌入式OS的公司,許多都是借助摩托羅拉的市場(chǎng)起家的, 比如VRTX(Reday System公司開發(fā)-- 后被Microtec Research公司收購(gòu)),Psos(ISI公司開發(fā)-后被Windriver公司收購(gòu)),LynxOS等,其中OS-9 (Microware公司開發(fā))的經(jīng)歷值得特別說一說。
OS-9 是一個(gè)實(shí)時(shí)、基于進(jìn)程、多任務(wù)和多用戶的操作系統(tǒng),它很像Unix的一個(gè)實(shí)時(shí)版本(類似技術(shù)的嵌入式OS還有LynxOS和QNX等)。OS-9的開發(fā)始于80年代初,最初是支持MC6809 微處理器的一個(gè)稱為BASIC09項(xiàng)目,后來隨著MC6809支持64KB存儲(chǔ)器擴(kuò)展到2MB,OS-9組件逐漸豐富起來,比如GUI,這使得它不僅使用在摩托羅拉的尋呼機(jī)上,見圖1所示,還應(yīng)用在一些早期個(gè)人電腦上,比如TRS-80 Color Computer(俗稱CoCo)見圖2 所示。這樣的OS和圖形技術(shù)在當(dāng)時(shí)還是非常領(lǐng)先的『2』 。
圖1:基于OS-9 的摩托羅拉尋呼機(jī)(圖片源自嵌入式系統(tǒng)編程雜志)
圖2:基于MC6809/OS-9的CoCo計(jì)算機(jī)
OS-9在80年代初開始支持68K,80年后期重新改寫成方便移植的內(nèi)核(基于C代碼),該內(nèi)核可以廣泛的支持X86,PPC、68K、MIPS和ARM。
OS-9 內(nèi)核在結(jié)構(gòu)上很有特色,既不是微內(nèi)核(它的效率要更高),也不是單片結(jié)構(gòu)(它的架構(gòu)更加安全和可靠)。OS-9的內(nèi)核、文件、驅(qū)動(dòng)和應(yīng)用都是OS-9的一個(gè)單獨(dú)邏輯存儲(chǔ)模塊。每個(gè)模塊由自己?jiǎn)为?dú)的頭、數(shù)據(jù)/代碼和CRC。這樣這些邏輯模塊很容易在保證高可靠性基礎(chǔ)上動(dòng)態(tài)的創(chuàng)建和維護(hù)。
OS-9 支持POSIX 的線程和API,因?yàn)榫邆鋵?shí)時(shí)性和Unix 應(yīng)用兼容性這2個(gè)特點(diǎn),OS-9在支持摩托羅拉VME和CPCI總線的工業(yè)計(jì)算機(jī)方面更具有特色。
2001年Radisys (一家北美的工業(yè)計(jì)算機(jī)公司)收購(gòu)了Microware,它希望提供一站式的解決方案,比如提供與Intel 合作的網(wǎng)絡(luò)處理器IXP1200 的解決方案等。但是因?yàn)闆]有長(zhǎng)期的發(fā)展策略和資金支持,OS-9的發(fā)展和技術(shù)服務(wù)在后期基本處于停滯狀態(tài),2013年3家Microware經(jīng)銷商用從Radisys 手里購(gòu)買了OS-9的資產(chǎn),成立了Microware LP,繼續(xù)為OS-9用戶提供技術(shù)支持和服務(wù)『3』。
提供完整方案的飛思卡爾
2003年飛思卡爾從摩托羅拉獨(dú)立之后,一直致力于提供一站式解決方案,飛思卡爾不僅繼續(xù)加大力量與著名的嵌入式OS公司合作,比如Montavista的嵌入式Linux和風(fēng)河公司的Vxwork RTOS,還自己投入人力成立軟件研發(fā)中心,專門負(fù)責(zé)開源Linux 在PowerPC芯片移植和優(yōu)化工作。2004年飛思卡爾在通訊基站上大量使用的StarCore DSP芯片上推出了免費(fèi)SmartDSP OS軟件套件,套件內(nèi)包含了CodeWarrior IDE(該工具產(chǎn)品也在若干年后被飛思卡爾收購(gòu))『4』。
今天許多用戶都會(huì)在使用飛思卡爾MCU的時(shí)候,看到了或者使用到一個(gè)MQX的RTOS。它原來是Precise 軟件技術(shù)公司1989 年開發(fā)的一款RTOS,與OS-9技術(shù)路線不同,它是一款微內(nèi)核的RTOS,它具備多任務(wù)可搶占特性,經(jīng)過裁剪可配置為低至6KB 的ROM。除了內(nèi)核外還有文件、TCP/IP和USB模塊等組件,支持68K、Coldfire、PPC、ARM等CPU。MQX以率先采用開放源代碼和免版稅商業(yè)模式在業(yè)內(nèi)著名。2000 年MQX 被ARC 公司收購(gòu)(一家銷售可配置處理器核的公司)。
2009 年飛思卡爾收購(gòu)了MQX,并在官方網(wǎng)站上提供開放了其源代碼,使其成為開源RTOS,并允許用戶可以在基于飛思卡爾的芯片上免費(fèi)使用這個(gè)軟件。MQX 的應(yīng)用主要是面向智能電子系統(tǒng)『5』。今天,你在購(gòu)買飛思卡爾半導(dǎo)體的MCU開發(fā)板的時(shí)候,你將可以免費(fèi)獲得包括已經(jīng)優(yōu)化好的MQX RTOS和CodeWorrios的IDE開發(fā)工具,不僅幫助降低研發(fā)和生產(chǎn)的成本,還加快了產(chǎn)品上市的時(shí)間,這對(duì)用戶來說都是一大福音。
參考資料:
『1』 Motorola 維基百科http://zh.wikipedia.org/
『2』 http://en.wikipedia.org/wiki/OS-9
『3』 http://www.microware.com/
『4』 Rober Oshana DSP for Embedded and Real-Time Systems Newnes 2012
『5』 MQX維基百科http://zh.wikipedia.org/