作者:邵貝貝 日期:2001-8-1 來源:轉(zhuǎn)載
字符大?。骸?a target="_blank" >大】 【
中】 【
小】
引言
嵌入式操作系統(tǒng)是開發(fā)嵌入式產(chǎn)品的有力工具。隨著“后PC時(shí)代”的到來,嵌入式計(jì)算機(jī)產(chǎn)品的開發(fā)日漸火爆。在控制領(lǐng)域,隨著32位單片機(jī)的功耗不斷降低,價(jià)格不斷走低,越來越得到國(guó)人的認(rèn)可。實(shí)時(shí)多任務(wù)的嵌入式操作系統(tǒng)的使用也受到越來越多的重視,嵌入式操作系統(tǒng)的產(chǎn)品與市場(chǎng)也日趨活躍。由于選擇什么樣的嵌入式操作系統(tǒng)往往發(fā)生于產(chǎn)品開發(fā)之前,一旦選中某公司的產(chǎn)品,往往會(huì)被該產(chǎn)品“牽著往前走”。故做決定之前不妨多做一些調(diào)查研究,針對(duì)擬開發(fā)產(chǎn)品的特征,結(jié)合嵌入式操作系統(tǒng)產(chǎn)品的特點(diǎn)、質(zhì)量、可靠性,綜合價(jià)格與服務(wù)等因素做出選擇。本文將為這種調(diào)研提供盡量多的信息。
傳統(tǒng)的嵌入式實(shí)時(shí)操作系統(tǒng)
傳統(tǒng)的嵌入式操作系統(tǒng)多為實(shí)時(shí)操作系統(tǒng)(RTOS)。其中最著名的,市場(chǎng)份額最大的要屬VxWorks,VxWorks是Wind River System公司(網(wǎng)站www.wrs.com)的產(chǎn)品,風(fēng)頭極勁的火星探測(cè)器就是用的該產(chǎn)品,高能加速器以及其它一些大型科研裝置也多用VxWorks。價(jià)格昂貴是該產(chǎn)品的另一特點(diǎn),在3萬美元之上。此外,用VxWork開發(fā)的嵌入式單片機(jī)產(chǎn)品還要按每一產(chǎn)品若干美元付費(fèi),即所謂Royalty。pSOS也是一個(gè)知名的RTOS。在嵌入式通訊產(chǎn)品的開發(fā)方面業(yè)績(jī)斐然,該產(chǎn)品已被Wind River公司收購(gòu),故pSOS也成了Wind River的產(chǎn)品。近來,該公司又開發(fā)了VxWorks AE RTOS,可以移值到FPGA中去。對(duì)于源碼開放市場(chǎng),Wind River支持開放UNIX-BSD/OS。
OS-9是另一個(gè)著名的嵌入式實(shí)時(shí)操作系統(tǒng)。是Micro -ware Systems公司(網(wǎng)站www.microware.com)的產(chǎn)品。這是一個(gè)在歐洲很流行的RTOS,八十年代就很流行,特別是在以Motorola 68xxx和Power PC為CPU的系統(tǒng)中。近來,OS-9 3.0已經(jīng)被移值到Hitachi的SH-3和SH-4CPU上。該公司還宣布OS-9也支持Strong ARM等多種CPU。
Enea OSE Systems公司(網(wǎng)站:www.enea.com)的RTOS產(chǎn)品主要用于開發(fā)無線通訊類產(chǎn)品,特別是那些最終是圖形類應(yīng)用的產(chǎn)品。它的可移值嵌入式圖形界面庫(PEG lib)以及開發(fā)工具是專為上述產(chǎn)品設(shè)計(jì)的。當(dāng)然用其開發(fā)出來的產(chǎn)品也是要按件收費(fèi)的。OSE是對(duì)分布式系統(tǒng)全面支持的實(shí)時(shí)操作系統(tǒng)。
無需按件收費(fèi)的RTOS(Royalty-free)
RT/Studio是Precise Software Tech. 公司(網(wǎng)站:www.psti.com)的產(chǎn)品。RT/Studio的MQXTM是Posix類型的RTOS,有集成開發(fā)環(huán)境IDE,適用于開發(fā)通訊類嵌入式產(chǎn)品。主要面向MIPS、ARM、Power PC、ARC等CPU。RT/Studio在PC的Windows NT/2000環(huán)境下運(yùn)行。起價(jià)3萬美元。
QNX Neutrino是加拿大的QNX Software System公司(網(wǎng)站:www.qnx.com)的產(chǎn)品,QNX本身是免費(fèi)的,可以從該公司的網(wǎng)站上免費(fèi)下載,可用于非商業(yè)應(yīng)用。但QNX的設(shè)備驅(qū)動(dòng)程序開發(fā)包只有β版是可以免費(fèi)下載的。與其它RTOS不同的是,QNX的設(shè)備驅(qū)動(dòng)程序不是同實(shí)時(shí)內(nèi)核一同編譯的,而是放在保護(hù)起來的用戶程序空間。設(shè)備驅(qū)動(dòng)程序是放在用戶應(yīng)用程序中一起調(diào)試的,使用的調(diào)試工具也相同,如Metaware。QNX的開發(fā)環(huán)境起價(jià)2700美元。
8051 Tool Suite 6.0是Tasking公司(網(wǎng)站:www.tasking.com)的產(chǎn)品,是專門為8051 CPU開發(fā)的,有全套的集成開發(fā)環(huán)境,可以在Windows、Linux、Unix平臺(tái)上運(yùn)行,起價(jià)1290美元。
Rose Real Time/Integrity是Green Hill Software公司的產(chǎn)品。支持多種CPU,該實(shí)時(shí)內(nèi)核本身起價(jià)為每單套使用許可證2000美元。而調(diào)試用的Multi集成環(huán)境的Windows版本,每單套使用許可證起價(jià)7900美元。Green Hill最近也推出了嵌入式Linux,使用GNU編譯生成Linux的內(nèi)核,用Linux標(biāo)準(zhǔn)的makefile鏈接之后,應(yīng)用程序可以在Multi 2000的集成環(huán)境中方便地與Linux內(nèi)核一起調(diào)試。Windows下或Linux下的Multi 2000售價(jià)5900美元。
Nucleus Plus是Accelerated Technology公司的產(chǎn)品,這是一個(gè)提供源代碼的RTOS。比起那些“黑盒子”式的嵌入式內(nèi)核,提供源代碼無疑是一個(gè)聰明之舉,因?yàn)殚_放是嵌入式實(shí)時(shí)操作系統(tǒng)未來的總趨勢(shì),故源代碼公開的嵌入式Linux越來越為用戶看好。
嵌入式Linux
Lineo公司(網(wǎng)站:www.Lineo.com)推出了2.0版本的Embedix SDK開發(fā)工具,適用于ARM、Mips、Super Hitachi、x86、Power PC等流行CPU,在Linux或Windows NT/2000下運(yùn)行。用戶可在此平臺(tái)上加入其它軟件,如USB、SMP、GUI、Bluetooth等。Embedix 2000的單套許可證索價(jià)4995美元,Power QUICC的Code Warrior的集成環(huán)境索價(jià)14495美元,主要用于Motorola的各種CPU。
LynuxWorks公司(網(wǎng)站:www.lynuxworks.com)是老牌實(shí)時(shí)操作系統(tǒng)LynxOS的生產(chǎn)商。Lynx(www.lynx.com)是為美國(guó)航天中心NASA設(shè)計(jì)的,單套使用許可證1萬美元,而該公司推出的Blue Cat Linux 3.1只要300美元,適用于各種流行的CPU。Code Warrior的集成環(huán)境是2499美元。
RED Sonic(網(wǎng)站:www.redsonic.com)推出了REDICE-Linux。它使用RED-Builder圖像開發(fā)工具,REDICE-Linux內(nèi)核是實(shí)時(shí)內(nèi)核。適用于軟實(shí)時(shí)和硬實(shí)時(shí),與現(xiàn)存的Linux完全兼容。
MontaVista Software公司(網(wǎng)站:www.mvista.com)推出了Hard Hat Linux 2.0,是基于最新的Linux穩(wěn)定內(nèi)核Linux 2.4的。同時(shí)提供相應(yīng)開發(fā)工具軟件包,支持的流行CPU超過20種。如東芝打印機(jī)的開發(fā)就用了上述工具。MontaVista的上述產(chǎn)品可以在多種主機(jī)上運(yùn)行,如Red Hat以及Yellow Dog Linux,Mandrake Turbolinux,Windows NT/2000上的VMWare,Solaris等。
Insignia Solutions(網(wǎng)站:www.insignia.com)公司的嵌入式產(chǎn)品開發(fā)平臺(tái)名為Jeode。Jeode適用于許多操作系統(tǒng),現(xiàn)在也可以在Linux上運(yùn)行,主要是Red Hat Linux。Jeode提供與Personal Java兼容的Linux圖形界面。它的圖形支持有Abstract Windowing Toolkit類庫,需要較大的系統(tǒng)內(nèi)存空間,但裁剪后,可以將Jeode的一部分嵌入到比較簡(jiǎn)單的圖形系統(tǒng)中去。
國(guó)內(nèi)的嵌入式操作系統(tǒng)
紅旗Linux是以中科院軟件所為基礎(chǔ)的紅旗公司(網(wǎng)站:www.redflag-linux.com)推出的嵌入式操作系統(tǒng)產(chǎn)品,面向?qū)拵C(jī)頂盒、中文PDA、瘦客戶機(jī)和無盤工作站、紅旗商務(wù)通等嵌入式產(chǎn)品。
科銀京成公司(網(wǎng)站:www.coretec.com.cn)以成都電子科技大學(xué)為依托,開發(fā)了有中國(guó)自己知識(shí)產(chǎn)權(quán)的嵌入式實(shí)時(shí)操作系統(tǒng)Delta OS,包括實(shí)時(shí)內(nèi)核Delta CORE,TCP/IP協(xié)議接入,文件系統(tǒng),圖形接口等。
Hopen OS是北京凱思昊鵬軟件公司(網(wǎng)站:www. hoppen.com.cn)的嵌入式操作系統(tǒng)產(chǎn)品,包括Hopen內(nèi)核、網(wǎng)絡(luò)通訊協(xié)議、JAVA虛擬機(jī)、圖形界面等。Hopen是以中科院為背景的,是開發(fā)有中國(guó)自己知識(shí)產(chǎn)權(quán)的嵌入式操作系統(tǒng)并使之產(chǎn)業(yè)化的“女媧計(jì)劃”的一部分。
中國(guó)人已經(jīng)意識(shí)到要有中國(guó)品牌的嵌入式操作系統(tǒng),中文接入是國(guó)人的優(yōu)勢(shì),世界上超過20%的人在使用中文。正在開發(fā)有自己知識(shí)產(chǎn)權(quán)的嵌入式操作系統(tǒng)的單位很多,例如以中科院計(jì)算所為背景的EEOS,西安易捷的Eje-OS,廣州博利思公司的嵌入式Linux,億賽科技在推的Pencil OS等等。開發(fā)一個(gè)操作系統(tǒng)軟件工程量浩大,且需要很長(zhǎng)的時(shí)間才能得到認(rèn)可。似應(yīng)集中兵力爭(zhēng)取在若干年后能有一兩個(gè)在世界上真正得到認(rèn)可的系統(tǒng)。由于Linux已是一個(gè)世人認(rèn)可的系統(tǒng),基于Linux無疑是一個(gè)高水平的起點(diǎn)。
選擇嵌入式操作系統(tǒng)軟件
整套的嵌入式操作系統(tǒng)軟件支持多種CPU,包括操作系統(tǒng)和集成開發(fā)環(huán)境,價(jià)格可達(dá)幾萬美元。對(duì)于經(jīng)濟(jì)實(shí)力有限的用戶,可以考慮只購(gòu)買部分商業(yè)軟件,甚至全部使用Linux之類自由軟件。嵌入式實(shí)時(shí)系統(tǒng)的開發(fā)軟件包大致分為以下四個(gè)部分。
(1) 適用于目標(biāo)系統(tǒng)CPU的C語言交叉編譯器,廣泛使用的是ANSI的標(biāo)準(zhǔn)的C交叉編譯器。是否有必要使用C++,用戶當(dāng)根據(jù)擬開發(fā)的產(chǎn)品決定。這是最基本的開發(fā)工具,用于開發(fā)嵌入式實(shí)時(shí)系統(tǒng)的C交叉編譯器,應(yīng)能在C語句之間插入?yún)R編語句,提供的庫函數(shù)應(yīng)具有可重入性。這一部分價(jià)位在2千美元上下。
(2) 嵌入式實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)內(nèi)核(The Real Time Kernel)。在某種意義上說,實(shí)時(shí)內(nèi)核就是實(shí)時(shí)操作系統(tǒng)。內(nèi)核對(duì)應(yīng)用系統(tǒng)的多個(gè)任務(wù)做實(shí)時(shí)調(diào)度,調(diào)度是根據(jù)某種算法實(shí)現(xiàn)的,有基于任務(wù)優(yōu)先級(jí)的,也有按時(shí)間片輪番調(diào)議的,等等。不同類型的實(shí)時(shí)內(nèi)核有各自不同的應(yīng)用領(lǐng)域。所以要根據(jù)擬開發(fā)產(chǎn)品的特點(diǎn)選擇適用于該類產(chǎn)品的內(nèi)核。要選擇穩(wěn)定的,已被時(shí)間和其他產(chǎn)品證明是可靠的內(nèi)核。嵌入式實(shí)時(shí)內(nèi)核是可裁剪的,一般與用戶的應(yīng)用程序一同編譯,使用前面提到的C編譯器。有的內(nèi)核帶有源碼,有的是所謂黑盒子,只有目標(biāo)碼。實(shí)時(shí)內(nèi)核的價(jià)格可以從幾十美元到幾千美元。也有免費(fèi)的,源碼公開的實(shí)時(shí)內(nèi)核如μC/OS。
(3) 面向各類特定應(yīng)用的各種函數(shù)庫。例如,文件系統(tǒng),很多嵌入式應(yīng)用不一定需要文件系統(tǒng),為節(jié)省費(fèi)用,這一部分用不著的就可以不買。又譬如,TCP/IP協(xié)議棧,如開發(fā)通訊類產(chǎn)品,這一部分就不如買現(xiàn)成的,全部自己開發(fā)既工作量大,質(zhì)量又不見得有保障。如果做控制,設(shè)備要求能實(shí)現(xiàn)通過UNIX的過程控制,可考慮購(gòu)買遠(yuǎn)程調(diào)用函數(shù)庫,還有,圖形界面函數(shù)庫等。總之,這一部分完全取決于擬開發(fā)產(chǎn)品的特性與要求。
(4)目標(biāo)系統(tǒng)的調(diào)試手段與環(huán)境。集成調(diào)試環(huán)境IED是理想的開發(fā)工具,一般在Windows環(huán)境下提供編譯、編譯優(yōu)化、鏈接,生成應(yīng)用程序,并通過某種方式下載,如串行口或乙太網(wǎng)口。提供多窗口的源碼級(jí)的應(yīng)用程序調(diào)試功能。哪種集成環(huán)境好完全取決于開發(fā)者的愛好,實(shí)際上用戶熟悉了、用慣了某種開發(fā)環(huán)境,一般不大愿意再換另一種。對(duì)于尚無先入為主的新用戶,不妨索取有效期一個(gè)月的評(píng)估軟件,先熟悉一下,看是否喜歡。這種IDE軟件包支持多種CPU,當(dāng)用戶用另一種CPU開發(fā)另外的產(chǎn)品時(shí),只需花費(fèi)不多的費(fèi)用購(gòu)買該CPU的支持包或板級(jí)支持包就可以了,開發(fā)環(huán)境幾乎不變。IDE是比較貴的,有利于提高開發(fā)效率,但如果有其它調(diào)試手段,IDE也絕非必須的。32位的嵌入式單片機(jī)一般可通過JTAG口下載和調(diào)試程序,相應(yīng)的單片機(jī)評(píng)估板上也都有滿足應(yīng)用程序調(diào)試要求的DEBUG駐留程序。交叉C編譯器中也可能含有DEBUG方式的編譯選項(xiàng)。
總之上述四項(xiàng)內(nèi)容,既可以購(gòu)買全套軟件包,也可以選購(gòu)一部分,甚至可以全部使用自由軟件。由于嵌入式操作系統(tǒng)僅僅是開發(fā)嵌入式產(chǎn)品的工具,和普通意義上的計(jì)算機(jī)操作系統(tǒng)的用戶碼很不一樣。嵌入式操作系統(tǒng)對(duì)開發(fā)人員的素質(zhì)有較高的要求,嵌入式操作系統(tǒng)的開發(fā)商還必須提供良好的服務(wù)與人員培訓(xùn),用戶購(gòu)買嵌入式軟件包時(shí)千萬不要忽視了服務(wù)與培訓(xùn)這一環(huán)節(jié)。