嵌入式處理器和嵌入式操作系統(tǒng)
1.2.1 嵌入式微處理器
??? 嵌入式微處理器有許多種流行的處理器核,芯片生產(chǎn)廠家一般都基于這些處理器核生產(chǎn)不同型號的芯片。本節(jié)將主要介紹以下幾種嵌入式處理器的架構(gòu),以及典型芯片制造商生產(chǎn)的芯片型號。
1. ARM/StrongARM
ARM(Advanced RISC Machines)公司是全球領(lǐng)先的16/32位RISC微處理器知識產(chǎn)權(quán)設(shè)計供應(yīng)商。
ARM公司通過轉(zhuǎn)讓高性能、低成本、低功耗的RISC微處理器、外圍和系統(tǒng)芯片設(shè)計技術(shù)給合作伙伴,使他們能用這些技術(shù)來生產(chǎn)各具特色的芯片。
ARM已成為移動通信、手持設(shè)備、多媒體數(shù)字消費(fèi)嵌入式解決方案的RISC標(biāo)準(zhǔn)。
ARM處理器有三大特點(diǎn):
小體積、低功耗、低成本而高性能;16/32位雙指令集;全球的合作伙伴眾多。
2. MIPS
MIPS是Microprocessor without Inter---locked Pipeline Stages的縮寫,是一種處理器內(nèi)核標(biāo)準(zhǔn),它是由MIPS技術(shù)公司開發(fā)的。
MIPS技術(shù)公司是一家設(shè)計制造高性能、高檔次的嵌入式32位和64位處理器的廠商,在RISC處理器方面占有重要地位。
2000年,MIPS 公司發(fā)布了針對MIPS 32 4Kc的新版本以及未來64位MIPS 64 20Kc處理器內(nèi)核。
MIPS技術(shù)公司既開發(fā)MIPS處理器結(jié)構(gòu),又自己生產(chǎn)基于MIPS的32位/64位芯片。
為了使用戶更加方便地應(yīng)用MIPS處理器,MIPS公司推出了一套集成的開發(fā)工具,稱為MIPSIDF(Integrated Dev--elopment Framework),特別適用于嵌入式系統(tǒng)的開發(fā)。
3. PowerPC
??PowerPC架構(gòu)的特點(diǎn)是可伸縮性好,方便靈活。PowerPC處理器品種很多,既有通用的處理器,又有嵌入式控制器和內(nèi)核,應(yīng)用范圍非常廣泛,從高端的工作站、服務(wù)器到桌面計算機(jī)系統(tǒng),從消費(fèi)類電子產(chǎn)品到大型通信設(shè)備等各個方面。
目前PowerPC獨(dú)立微處理器與嵌入式微處理器的主頻從25MHz~700MHz不等,它們的能量消耗、大小、整合程度、價格差異懸殊,主要產(chǎn)品模塊有主頻350MHz~700MHz PowerPC 750CX和750CXe以及主頻400MHz的PowerPC 440GP等。
嵌入式的PowerPC 405(主頻最高為266MHz) 和PowerPC440 (主頻最高為550MHz) 處理器內(nèi)核可以用于各種集成的系統(tǒng)芯片(SOC)設(shè)備上,在電信、金融和其它許多行業(yè)具有廣泛的應(yīng)用。
4. x86
x86系列處理器是我們最熟悉的了,它起源于Intel架構(gòu)的8080,再發(fā)展出286、386、486,直到現(xiàn)在的Pentium4、Athlon和AMD的64位處理器Hammer。從嵌入式市場來看,486DX是當(dāng)時和ARM、68K、MIPS和SuperH齊名的五大嵌入式處理器之一,8080是第一款主流的處理器。
今天的Pentium和當(dāng)初的8080使用相同的指令集,這有利也有弊,利是可以保持兼容性,至少10年前寫的程序在現(xiàn)在的機(jī)器上還能運(yùn)行;弊是限制了CPU性能的提高。
5. 68K/Cold fire
??Motorola 68000(68K) 是出現(xiàn)得比較早的一款嵌入式處理器,68K采用的是CISC結(jié)構(gòu),與現(xiàn)在的PC指令集保持了二進(jìn)制兼容。
????????? CISC是個人電腦CPU常用的,Intel、AMD、VIA都采用了CISC指令集,只有Apple電腦中的Power PC使用了RISC架構(gòu)。最初使用CISC指令集是有道理的,因?yàn)镃ISC指令數(shù)量少,執(zhí)行效率更高,而且當(dāng)時的CPU時鐘頻率不同,沒有牽涉到現(xiàn)在的超標(biāo)量和超流水線的問題。
???? RISC是精簡指令集,每條指令長度都一樣,有利于簡化譯碼結(jié)構(gòu),減少處理器的晶體管數(shù)量,這對于嵌入式處理器來說是很重要的。
1994年,Motorola又推出了基于RISC結(jié)構(gòu)的68K/Cold Fire系統(tǒng)微處理器。
目前基于該架構(gòu)的嵌入式微處理器主要有MCF5272,它基于第二代ColdFire V2核心,在66MHz下操作速度為63Dhrystone 2.1MIPS,是迄今最高的V2性能。
1.2.2 嵌入式操作系統(tǒng)
下面介紹國外和國內(nèi)常用的實(shí)時操作系統(tǒng)。
1. 國外著名的實(shí)時操作系統(tǒng)
國外實(shí)時操作系統(tǒng)已經(jīng)從簡單走向成熟,有代表性的產(chǎn)品主要有VxWorks,QNX,Palm OS,Windows CE等,占據(jù)了機(jī)頂盒、PDA等的絕大部分市場。
其實(shí),實(shí)時操作系統(tǒng)并不是一個新生的事物,從20世紀(jì)80年代起,國際上就有一些IT組織、公司開始進(jìn)行商用嵌入式系統(tǒng)和專用操作系統(tǒng)的研發(fā)。
(1) VxWorks
VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計開發(fā)的一種實(shí)時操作系統(tǒng)。VxWorks擁有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及良好的用戶開發(fā)環(huán)境,在實(shí)時操作系統(tǒng)領(lǐng)域內(nèi)占據(jù)一席之地。它以其良好的可靠性和卓越的實(shí)時性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時性要求極高的領(lǐng)域中,如衛(wèi)星通信、軍事演習(xí)、導(dǎo)彈制導(dǎo)、飛機(jī)導(dǎo)航等。
?在美國的F-16、FA-18戰(zhàn)斗機(jī),B-2隱形轟炸機(jī)和愛國者導(dǎo)彈上,甚至連1997年4月在火星表面登陸的火星探測器上也使用了VxWorks。它是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場占有率最高的系統(tǒng)。它支持多種處理器,如x86,i960,Sun Sparc,Moto--rola MC68xxx,MIPS RX000,Power PC, ARM , StrongARM等。大多數(shù)的VxW---orksAPI是專有的。
(2) QNX
QNX是一個實(shí)時的、可擴(kuò)充的操作系統(tǒng);它部分遵循POSIX相關(guān)標(biāo)準(zhǔn),如POSIX.1b 實(shí)時擴(kuò)展;它提供了一個很小的微內(nèi)核以及一些可選的配合進(jìn)程。
其內(nèi)核僅提供4種服務(wù):進(jìn)程調(diào)度、進(jìn)程間通信、底層網(wǎng)絡(luò)通信和中斷處理,其進(jìn)程在獨(dú)立的地址空間中運(yùn)行。所有其他操作系統(tǒng)服務(wù)都實(shí)現(xiàn)為協(xié)作的用戶進(jìn)程,因此QNX內(nèi)核非常小巧(QNX4.x大約為12KB),而且運(yùn)行速度極快。這個靈活的結(jié)構(gòu)可以使用戶根據(jù)實(shí)際的需求,將系統(tǒng)配置成微小的嵌入式操作系統(tǒng)或包括幾百個處理器的超級虛擬機(jī)操作系統(tǒng)。
POSIX 表示可移植操作系統(tǒng)接口(Portable Operating SystemInterface,縮寫為POSIX 是為了讀音更像UNIX)
電氣和電子工程師協(xié)會(IEEE)最初開發(fā)POSIX 標(biāo)準(zhǔn),是為了提高UNIX 環(huán)境下應(yīng)用程序的可移植性。
然而,POSIX 并不局限于UNIX.許多其它的操作系統(tǒng),例如DEC OpenVMS 和Windows NT ,都支持POSIX標(biāo)準(zhǔn),尤其是IEEE Std.1003.1-1990(1995 年修訂)或POSIX.1, POSIX.1 提供了源代碼級別的C 語言應(yīng)用編程接口(API)給操作系統(tǒng)的服務(wù)程序,例如讀寫文件.
POSIX.1 已經(jīng)被國際標(biāo)準(zhǔn)化組織(ISO)所接受,被命名為ISO/IEC 9945-1:1990 標(biāo)準(zhǔn)。
POSIX 現(xiàn)在已經(jīng)發(fā)展成為一個非常龐大的標(biāo)準(zhǔn)族,某些部分正處在開發(fā)過程中。POSIX 與IEEE 1003 和2003 家族的標(biāo)準(zhǔn)是可互換的
(3) Palm OS
?3Com公司的Palm OS在掌上電腦和PDA市場上占有很大的市場份額。它有開放的操作系統(tǒng)應(yīng)用程序接口(API),開發(fā)商可以根據(jù)需要自行開發(fā)所需的應(yīng)用程序。
?目前共有3500多個應(yīng)用程序可以運(yùn)行在Palm Pilot上。其中大部分應(yīng)用程序均為其他廠商和個人所開發(fā),使Palm Pilot的功能得以不斷增多。這些軟件包括計算器、各種游戲、電子寵物、地理信息等。在開發(fā)環(huán)境方面,可以在Windows 95/98/NT以及Macintosh下安裝Palm Pilot Desktop。 Palm Pilot可以與流行的PC平臺上的應(yīng)用程序(如Word,Excel等)進(jìn)行數(shù)據(jù)交換。
(4) Windows CE
??Microsoft Windows CE是從整體上為有限資源的平臺設(shè)計的多線程、完整優(yōu)先權(quán)、多任務(wù)的操作系統(tǒng)。它的模塊化設(shè)計允許它對從掌上電腦到專用的工業(yè)控制器的用戶電子設(shè)備進(jìn)行定制。操作系統(tǒng)的基本內(nèi)核至少需要200KB的ROM。
(5) LynxOS
??Lynx Real-time Systems的LynxOS是一個分布式、嵌入式、可規(guī)模擴(kuò)展的實(shí)時操作系統(tǒng),它遵循POSIX.1a,POSIX.1b和POSIX.1c標(biāo)準(zhǔn)。
??LynxOS支持線程概念,提供256個全局用戶線程優(yōu)先級;提供一些傳統(tǒng)的、非實(shí)時系統(tǒng)的服務(wù)特征,包括基于調(diào)用需求的虛擬內(nèi)存, 一個基于Motif的用戶圖形界面,與工業(yè)標(biāo)準(zhǔn)兼容的網(wǎng)絡(luò)系統(tǒng)以及應(yīng)用開發(fā)工具。
?Motif?是開放軟件基金(OSF)于1989年推出的一個圖形用戶界面系統(tǒng)。
由于它融合了多種圖形用戶界面產(chǎn)品中的優(yōu)點(diǎn),因此得到了?OSF?的所有成員及廣大第三方廠商的廣泛支持。
目前?Motif?已作為軟件產(chǎn)品在?OS/2、Unix、Sys?V、OSF/1、VMS、Macintosh?OS、Ultrix?等48中操作系統(tǒng)平臺上實(shí)現(xiàn),并可在PC、工作站、小型機(jī)和大型機(jī)等各種計算機(jī)系統(tǒng)上運(yùn)行。
為了講清楚?Motif?是什么概念.先講一下圖形用戶界面系統(tǒng)的層次結(jié)構(gòu)(詳細(xì)的知識大家查閱),一般的圖形用戶界面系統(tǒng)由六個層次構(gòu)成:桌面管理系統(tǒng)、用戶模型、窗口模型、顯示模型、操作系統(tǒng)、硬件平臺.Motif?位于用戶模型層.它建立在?X?Window?系統(tǒng)之上,也就是說它以?X?Window?系統(tǒng)做顯示模型的窗口模型。?
?Motif?由工具箱(Motif?Toolkit)、用戶界面語言(UI-L)、窗口管理程序(MWM)、風(fēng)格指南文檔(Style?Guide)等四部分組成:
Motif?Toolkit?是一個具體的?X?Toolkit?產(chǎn)品,它包括?Xt?Intrinsics、Motif?對象元類集合和操縱這個對象元類集合的簡便函數(shù)等三個部分。
利用?Motif?開發(fā)的應(yīng)用程序通??煞譃閮蓚€部分:一部分是有關(guān)應(yīng)用程序界面的代碼;另一部分是關(guān)于應(yīng)用程序具體功能的代碼。一般來說,應(yīng)用程序中這兩個部分是不會相互干擾的。比如說菜單項位置的變動、標(biāo)圖的更換就都不會影響應(yīng)用程序的功能?;谏鲜鍪聦?shí),Motif?引入了用戶界面語言來解決用戶界面的描述問題。
3.象其他窗口管理程序一樣,Motif?的窗口管理程序提供了一個對屏幕上的窗口進(jìn)行管理的手段,同時它頁強(qiáng)化了用戶界面視感的一致性.MWM?支持?Motif?風(fēng)格指南所描述的各種窗口操作及顯示窗口時的各種約定。
4.Motif?的風(fēng)格指南以文檔的形式說明了在?Motif?環(huán)境下開發(fā)應(yīng)用程序時應(yīng)遵守的規(guī)范。
(6) 嵌入式Linux
隨著Linux的迅速發(fā)展,嵌入式Linux現(xiàn)在已經(jīng)有許多的版本,包括強(qiáng)實(shí)時的嵌入式Linux(如新墨西哥工學(xué)院的RT-Linux和堪薩斯大學(xué)的KURT-Linux)和一般的嵌入式Linux 版本(如uClinux和Pocket Linux等)。
其中,RT-Linux通過把通常的Linux任務(wù)優(yōu)先級設(shè)為最低,而所有的實(shí)時任務(wù)的優(yōu)先級都高于它,以達(dá)到既兼容通常的Linux任務(wù)又保證強(qiáng)實(shí)時性能的目的。
另一種常用的嵌入式Linux是uClinux,它是針對沒有MMU的處理器而設(shè)計的。它不能使用處理器的虛擬內(nèi)存管理技術(shù),它對內(nèi)存的訪問是直接的,所有程序中訪問的地址都是實(shí)際的物理地址。它專為嵌入式系統(tǒng)做了許多小型化的工作。
由于嵌入式系統(tǒng)越來越追求數(shù)字化、網(wǎng)絡(luò)化和智能化,因此原來在某些設(shè)備或領(lǐng)域中占主導(dǎo)地位的軟件系統(tǒng)越來越難以為繼,因?yàn)橐_(dá)到上述要求,整個系統(tǒng)必須是開放的、提供標(biāo)準(zhǔn)的API,并且能夠方便地與眾多第三方的軟硬件溝通。
Linux主要特點(diǎn)如下:
Linux是開放源碼的,不存在黑箱技術(shù),遍布全球的眾多Linux愛好者又是Linux開發(fā)的強(qiáng)大技術(shù)后盾;
Linux的內(nèi)核小、功能強(qiáng)大、運(yùn)行穩(wěn)定、系統(tǒng)健壯、效率高;
Linux易于定制裁剪,在價格上極具競爭力;
Linux不僅支持x86 CPU,還可以支持其他數(shù)十種CPU芯片;
有大量的且不斷增加的開發(fā)工具,這些工具為嵌入式系統(tǒng)的開發(fā)提供了良好的開發(fā)環(huán)境;
?Linux沿用了Unix的發(fā)展方式,遵循國際標(biāo)準(zhǔn),可以方便地獲得眾多第三方軟硬件廠商的支持;
?Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,它提供了對十兆/百兆/千兆以太網(wǎng)、無線網(wǎng)絡(luò)、令牌網(wǎng)、光纖網(wǎng)、衛(wèi)星網(wǎng)等多種聯(lián)網(wǎng)方式的全面支持。
在圖像處理、文件管理及多任務(wù)支持等諸多方面,Linux的表現(xiàn)也都非常出色,不僅可以充當(dāng)嵌入式系統(tǒng)的開發(fā)平臺,本身也是嵌入式系統(tǒng)應(yīng)用開發(fā)的好工具。
(7) uC/OS
uC/OS是源碼公開的實(shí)時嵌入式操作系統(tǒng)。
uC/OS-Ⅱ的主要特點(diǎn)如下:
公開源代碼,系統(tǒng)透明,很容易就能把操作系統(tǒng)移植到各個不同的硬件平臺上。
可移植性強(qiáng),uC/OS-Ⅱ絕大部分源碼是用ANSI C寫的,可移植性 (Portable)較強(qiáng)。而與微處理器硬件相關(guān)的那部分是用匯編語言寫的,已經(jīng)壓到最低限度,使得uC/OS-Ⅱ 便于移植到其他微處理器上。
可固化,uC/OS-Ⅱ是為嵌入式應(yīng)用而設(shè)計的,這就意味著,只要開發(fā)者有固化(ROMable) 手段 (C編譯、連接、下載和固化) ,uC/OS-Ⅱ可以嵌入到開發(fā)者的產(chǎn)品中成為產(chǎn)品的一部分。
可裁剪,通過條件編譯可以只使用uC/OS-Ⅱ中應(yīng)用程序需要的那些系統(tǒng)服務(wù)程序,以減少產(chǎn)品中的uC/OS-Ⅱ所需的存儲器空間 (RAM和ROM) 。
占先式,uC/OS-Ⅱ完全是占先式 (Preemptive) 的實(shí)時內(nèi)核,這意味著uC/OS-Ⅱ總是運(yùn)行就緒條件下優(yōu)先級最高的任務(wù)。大多數(shù)商業(yè)內(nèi)核也是占先式的,uC/OS-Ⅱ在性能上和它們類似。
實(shí)時多任務(wù),uC/OS-Ⅱ不支持時間片輪轉(zhuǎn)調(diào)度法 (Round-roblin Scheduling) 。 該調(diào)度法適用于調(diào)度優(yōu)先級平等的任務(wù)。
可確定性,全部uC/OS-Ⅱ的函數(shù)調(diào)用與服務(wù)的執(zhí)行時間具有可確定性。
由于uC/OS-II僅是一個實(shí)時內(nèi)核,這就意味著它不像其他實(shí)時操作系統(tǒng)那樣提供給用戶的只是一些API函數(shù)接口,有很多工作往往需要用戶自己去完成。
把uC/OS-Ⅱ移植到目標(biāo)硬件平臺上也只是系統(tǒng)設(shè)計工作的開始,后面還需要針對實(shí)際的應(yīng)用需求對uC/OS-Ⅱ進(jìn)行功能擴(kuò)展,包括底層的硬件驅(qū)動、文件系統(tǒng)、用戶圖形接口 (GUI) 等,從而建立一個實(shí)用的RTOS。
? 2. 國內(nèi)著名的實(shí)時操作系統(tǒng)
??國內(nèi)的實(shí)時操作系統(tǒng)研究開發(fā)有兩種類型。
??一類是中國自主開發(fā)的實(shí)時操作系統(tǒng),如電子科技大學(xué)嵌入式實(shí)時教研室和科銀公司聯(lián)合研制開發(fā)的實(shí)時操作系統(tǒng)Delta OS (道系統(tǒng)) 、凱思公司的Hopen OS (女媧計劃) 、中科院北京軟件工程研制中心開發(fā)的CASSPDA以及浙江大學(xué)自行研制開發(fā)的嵌入式操作系統(tǒng)HBOS等;
??另一類是基于國外操作系統(tǒng)二次開發(fā)完成的,這類操作系統(tǒng)大多是專用系統(tǒng),在此就不對這類系統(tǒng)進(jìn)行介紹了。
(1) DeltaOS
DeltaOS是電子科技大學(xué)嵌入式實(shí)時教研室和科銀公司 (專門從事嵌入式開發(fā)) 聯(lián)合研制開發(fā)的全中文的嵌入式操作系統(tǒng),提供強(qiáng)實(shí)時和嵌入式多任務(wù)的內(nèi)核,任務(wù)響應(yīng)時間快速、確定,不隨任務(wù)負(fù)載大小改變,絕大部分的代碼由C語言編寫,具有很好的移植性。
它適用于內(nèi)存要求較大、可靠性要求較高的嵌入式系統(tǒng),主要包括嵌入式實(shí)時內(nèi)核DeltaCORE、嵌入式TCP/IP組件DeltaNET、嵌入式文件系統(tǒng)DeltaFILE以及嵌入式圖形接口DeltaGUI 等。
同時,它還提供了一整套的嵌入式開發(fā)套件LamdaTOOL,是國內(nèi)嵌入式領(lǐng)域內(nèi)不可多得的一整套嵌入式開發(fā)應(yīng)用解決方案,已成功應(yīng)用于通信、網(wǎng)絡(luò)、信息家電等多個應(yīng)用領(lǐng)域。
(2) Hopen OS
Hopen OS是凱思集團(tuán)自主研制開發(fā)的實(shí)時操作系統(tǒng),由一個體積很小的內(nèi)核及一些可以根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成。其核心Hopen Kernel的規(guī)模一般為10KB左右,占用空間小,并具有實(shí)時、多任務(wù)、多線程的系統(tǒng)特征。
(3) EEOS
EEOS是中科院計算所組織開發(fā)的開放源碼的實(shí)時操作系統(tǒng)。該實(shí)時操作系統(tǒng)重點(diǎn)支持p-Java,要求一方面小型化,一方面能重用Linux的驅(qū)動和其他模塊。
中科院計算所將在2-3年內(nèi)持續(xù)加大投資,以期將其擴(kuò)展成能力強(qiáng),功能完善,且穩(wěn)定、可靠的嵌入式操作系統(tǒng)平臺。這包含E2實(shí)時操作系統(tǒng)、E2工具鏈及E2仿真開發(fā)環(huán)境的完整環(huán)境。
(4) HBOS
HBOS系統(tǒng)是浙江大學(xué)自主研制開發(fā)的全中文實(shí)時操作系統(tǒng)。它具有實(shí)時、多任務(wù)等特征,能提供瀏覽器、網(wǎng)絡(luò)通信和圖形窗口等服務(wù);可供進(jìn)行一定的定制或二次開發(fā);能為應(yīng)用軟件開發(fā)提供API接口支持;可用于信息家電、智能設(shè)備和儀器儀表等領(lǐng)域開發(fā)應(yīng)用。
在HBOS系統(tǒng)平臺下,已經(jīng)成功地開發(fā)出機(jī)頂盒和數(shù)據(jù)采集等系統(tǒng)。
3. 操作系統(tǒng)選擇
?表 1-1給出了幾種國內(nèi)流行嵌入式操作系統(tǒng)比較。
評論
查看更多