多任務(wù)操作系統(tǒng)Nucleus簡介
一、 ATI公司簡介
■公司全稱:Accelerated Technology Inc.
■成立于1990年8月
■總部在美國Alabama州的Mobile
■在美國的加利佛尼亞,德克薩斯,馬塞諸塞,佛羅里達(dá)以及田納西等設(shè)有分支機構(gòu)
■在英國、法國和德國設(shè)有分支機構(gòu)
■在日本、韓國、澳大利亞、臺灣、中國、意大利和俄羅斯等國設(shè)有代理商
1990年推出Nucleus實時多任務(wù)操作系統(tǒng)
■專注于RTOS的研發(fā)、銷售和技術(shù)應(yīng)用及技術(shù)支持
■1993年成為MOTOROLA推薦的四大RTOS廠商之一
■1994年推出全球唯一的MNT虛擬開發(fā)平臺
■1994年推出全球唯一的VNET網(wǎng)絡(luò)化虛擬平臺
■1994年成功地推出Java和RTOS產(chǎn)品
■1995年成為全球第一大源代碼RTOS廠商
■1996年選定旋極科技公司為其中國大陸及香港地區(qū)獨家代理商
■1997年公司員工數(shù)量為82人,成為美國大型的RTOS廠商
■1998年NET4.2成功推出
■1998年成功推出機頂盒方案和OSEK汽車電子方案
■1999年推出WebBrowser瀏覽器
■1999年ATI公司員工數(shù)量為150人,已成為美國成長速度最快的嵌入式操作
系統(tǒng)公司
■2000年NET4.4成功推出,完善了NUCLEUS的網(wǎng)絡(luò)模塊
二、 Nucleus PLUS的特點:
Nucleus PLUS 是為實時嵌入式應(yīng)用而設(shè)計的一個搶先式多任務(wù)操作系統(tǒng)內(nèi)核,其95%的代碼是用ANSIC寫成的,因此非常便于移植并能夠支持大多數(shù)類型的處理器。從實現(xiàn)角度來看,Nucleus PLUS 是一組C函數(shù)庫,應(yīng)用程序代碼與核心函數(shù)庫連接在一起,生成一個目標(biāo)代碼,下載到目標(biāo)板的RAM中或直接燒錄到目標(biāo)板的ROM中執(zhí)行。
在典型的目標(biāo)環(huán)境中,Nucleus PLUS 核心代碼區(qū)一般不超過20K字節(jié)大小。Nucleus PLUS 采用了軟件組件的方法。每個組件具有單一而明確的目的,通常由幾個C及匯編語言模塊構(gòu)成,提供清晰的外部接口,對組件的引用就是通過這些接口完成的。除了少數(shù)一些特殊情況外,不允許從外部對組件內(nèi)的全局進(jìn)行訪問。由于采用了軟件組件的方法,Nucleus PLUS 各個組件非常易于替換和復(fù)用。Nucleus PLUS 的組件包括任務(wù)控制、內(nèi)存管理、任務(wù)間通信、任務(wù)的同步與互斥、中斷管理、定時器及I/O驅(qū)動等。
Nucleus具有如下特點:
1、提供源代碼
Nucleus PLUS 注釋嚴(yán)格的C源級代碼給每一個用戶。這樣,用戶能夠深入地了解底層內(nèi)核的運作方式,并可根據(jù)自己的特殊要求刪減或改動系統(tǒng)軟件,這對軟件的規(guī)范化管理及系統(tǒng)軟件的測試都有極大的幫助。另外,由于提供了 RTOS 的源級代碼,用戶不但可以進(jìn)行 RTOS 的學(xué)習(xí)和研究,而且產(chǎn)品在量產(chǎn)時也不必支付 License,可以省去大量的費用。對于軍方來說,由于提供了源代碼,用戶完全可以控制內(nèi)核而不必?fù)?dān)心操作系統(tǒng)中可能會存在異常任務(wù)導(dǎo)致系統(tǒng)崩潰。
2、性價比高
Nucleus PLUS 由于采用了先進(jìn)的微內(nèi)核 ( Micro-kernel ) 技術(shù),因而在優(yōu)先級安排,任務(wù)調(diào)度,任務(wù)切換等各個方面都有相當(dāng)大的優(yōu)勢。另外,對C++語言的全面支持又使得Nucleus PLUS 的 Kernel 成為名副其實的面向?qū)ο蟮膶崟r操作系統(tǒng)內(nèi)核。然而,其價格卻比較合理。所以,容易被廣大的研發(fā)單位接受。
3、易學(xué)易用
Nucleus PLUS 能夠結(jié)合 Paradigm,SDS以及 ATI自己的多任務(wù)調(diào)試器組成功能強大的集成開發(fā)環(huán)境,配合相應(yīng)的編譯器和動態(tài)聯(lián)結(jié)庫以及各類底層驅(qū)動軟件,用戶可以輕松地進(jìn)行 RTOS 的開發(fā)和調(diào)試。另外,由于這些集成開發(fā)環(huán)境 ( IDE ) 為所有的開發(fā)工程師所熟悉,因而,容易學(xué)習(xí)和使用。
4、功能模塊豐富
Nucleus PLUS 除提供功能強大的內(nèi)核操作系統(tǒng)外,還提供種類豐富的功能模塊。例如用于通訊系統(tǒng)的局域和廣域網(wǎng)絡(luò)模塊,支持 圖形應(yīng)用的實時化 Windows 模塊,支持Internet網(wǎng)的 WEB 產(chǎn)品模塊,工控機實時 BIOS 模塊,圖形用戶接口以及應(yīng)用軟件性能分析模塊等。用戶可以根據(jù)自己的應(yīng)用來選擇不同的應(yīng)用模塊。
Nucleus PLUS支持的CPU類型:
Nucleus PLUS 的 RTOS內(nèi)核可支持如下類型的CPU:x86,68xxx,68HCxx,NEC V25, ColdFire, 29K,i960, MIPS, SPARClite, TI DSP, ARM6/7, StrongARM, H8/300H, SH1/2/3, PowerPC, V8xx, Tricore, Mcore, Panasonic MN10200, Tricore, Mcore等。可以說NUCLEUS+是支持CPU類型最豐富的實時多任務(wù)操作系統(tǒng)。
針對各種嵌入式應(yīng)用,Nucleus PLUS 還提供相應(yīng)的網(wǎng)絡(luò)協(xié)議(如TCP/IP,SNMP等),以滿足用戶對通訊系統(tǒng)的開發(fā)要求。另外,可重入的文件系統(tǒng)、可重入的C函數(shù)庫以及圖形化界面等也給開發(fā)者提供了方便。
針對不同的CPU類型,Nucleus 還提供編譯器、動態(tài)連接庫、多任務(wù)調(diào)試器等相應(yīng)的工具來配置用戶的開發(fā)環(huán)境。值得提出的是ATI公司最近還發(fā)表了基于Microsoft Developers Studio的嵌入式集成開發(fā)環(huán)境-NUCLEUS EDE。從而率先將嵌入式開發(fā)工具與Microsoft的強大開發(fā)環(huán)境結(jié)合起來,提供給工程師們強大的開發(fā)手段。
三、 源代碼帶來的優(yōu)勢
眾所周知,Nucleus實時多任務(wù)操作系統(tǒng)提供給用戶源代碼。這除商務(wù)上給用戶帶來巨大益處(免交Royalty)外,還在技術(shù)方面給用戶極大的方便,即無需編寫和調(diào)試BSP,從而達(dá)到易學(xué)易用的目的,加速產(chǎn)品上市。
對RTOS有一定知識的工程師一定清楚,使用RTOS最大的障礙在于編寫和調(diào)試BSP。大家知道,在調(diào)試目標(biāo)系統(tǒng)的軟件之前,必須將目標(biāo)與主機連接起來并建立通訊。為此,我們可以編寫一段監(jiān)控程序(Monitor)。
然而,如果要調(diào)試基于RTOS內(nèi)核的程序,主機上的調(diào)試器(Debugger)除要與目標(biāo)建立通訊外,更重要的是必須識別RTOS的任務(wù),這樣才能進(jìn)行任務(wù)級調(diào)試(Task-aware Debugger)。因此,只有Monitor是不夠的。如果我們選用的RTOS不提供源代碼,那么,主機上的調(diào)試器(Debugger)就只有通過用戶編寫的BSP來了解Kernel在現(xiàn)有硬件平臺上對各個任務(wù)進(jìn)行調(diào)度的情況。顯然,編寫B(tài)SP必須對CPU目標(biāo)系統(tǒng)的硬件以及應(yīng)用軟件等有全面而深入的了解。一般說來,對于一個有一定硬件開發(fā)經(jīng)驗的工程師來說,編寫一個新的BSP要花的平均時間為兩個月左右。這對于一個新手來說可是比較困難的。
對于編寫B(tài)SP的工程師來說,另外一個更大的挑戰(zhàn)就是如何調(diào)試BSP,即如何驗證所編寫的BSP是否正確。通常剛剛焊接安裝好的PCB板中,硬件或軟件的故障(Bugs)是比較多的。甚至更常見的是CPU部分都沒有運作正常。有時時序錯誤和總線錯誤都還存在。在您把寫好的BSP燒入EPROM(或FLASH)中試圖將目標(biāo)與主機建立聯(lián)系時,您幾乎100%地會發(fā)現(xiàn)根本無法通訊,眼前一團漆黑,不知是軟件有錯誤還是硬件不運轉(zhuǎn)。BSP在正常運行嗎?不得而知。在焦急和摸索中您可能發(fā)現(xiàn)幾個月已悄然而過。對于早期的實時操作系統(tǒng)來說,BSP是必由之路。然而,新一代的 RTOS-Nucleus PLUS則避免了BSP帶來的痛苦過程。因為Nucleus的調(diào)試是基于全新的動態(tài)連接庫(DLL)。
用戶只須通過監(jiān)控程序(Monitor)或者BDM調(diào)試口(或者JTAG調(diào)試口)建立目標(biāo)系統(tǒng)(Target)與主機(Host)之間的通訊,并給主機上的Debugger初始化特性中加入Nucleus的動態(tài)連接庫(DLLs),這時,調(diào)試器就能夠自動地去識別運行在目標(biāo)系統(tǒng)中的Nucleus內(nèi)核和各個應(yīng)用任務(wù),從而完成任務(wù)級調(diào)試。上述的動態(tài)連接庫(DLLs)是由RTOS廠商和Debugger廠商合作完成的,用戶無須自行編寫。因此,Nucleus的用戶只需要將精力放在基于Nucleus的編程工作中。對于一個新手,往往經(jīng)過一天到兩天的學(xué)習(xí)和培訓(xùn),就可以投入到應(yīng)用程序編制工作中去,無需花大量的時間去研究CPU,特定的硬件等。另外,由于有了源程序,用戶在調(diào)試程序時可以清楚地通過STEP INTO命令,追蹤到RTOS的內(nèi)層中去,觀看和學(xué)習(xí)Kernel對任務(wù)的管理和調(diào)度機制。對于有志研究RTOS深層技術(shù)的工程師來說極為方便。
對于Motorola 68K和PowerPC,用戶可以利用GreenHill公司的Mutil調(diào)試器或TRACE-ICD來完成Nucleus PLUS的調(diào)試;對于ARM和StrongARM,用戶可以利用ARM公司的SDT251調(diào)試器或TRACE-ICD來完成Nucleus PLUS的調(diào)試;對于Intel x86實模式,用戶可以利用Paradigm公司的調(diào)試器及其DLL來進(jìn)行任務(wù)級調(diào)試;對于Intel x86保護(hù)模式則可以利用SSI公司Softprobe調(diào)試器和SSI DLL來調(diào)試;對于i960,SH3/4,ARM6/7,MIPS等芯片,則可以使用ATI公司自己的UDB調(diào)試器來進(jìn)行任務(wù)的調(diào)試。
結(jié)論:
動態(tài)連接庫(DLL)是在RTOS工具中新出現(xiàn)的應(yīng)用趨勢,通過這種方式,用戶可以免去BSP帶來的麻煩,靈活方便地進(jìn)行開發(fā)和調(diào)試,大大加速開發(fā)進(jìn)度。Nucleus實時操作系統(tǒng)提供源代碼,支持豐富的CPU種類,配合各類DLL動態(tài)連接庫,為使用和研究RTOS技術(shù)的工程帶來極大的利益。
四、 Nucleus的應(yīng)用領(lǐng)域和國內(nèi)外用戶
■Nucleus主要應(yīng)用領(lǐng)域在:網(wǎng)絡(luò)、路由、橋接、Hubs、數(shù)據(jù)通訊、頂置盒、數(shù)字?jǐn)z像機、ISDN、調(diào)制器、數(shù)字繪圖儀、GSM、蜂窩電話、PDA、打印機、GPS、無線通訊、汽車、醫(yī)療儀器、RAID、適配卡、智能卡、安全保密、工業(yè)控制、掃描儀、煤氣分析儀、游戲機、多媒體、手持產(chǎn)品、消費產(chǎn)品、局域網(wǎng)、廣域網(wǎng)、導(dǎo)航設(shè)備、衛(wèi)星通信、自動提款機、視頻產(chǎn)品、條碼機、過程控制等等
■Nucleus部分典型的用戶名單:
AT&T/Lucemt, Blaupunkt, Compaq Computer, Canon, Chrysler Technologies, Dassault SA, DOD, Draper Labs, Eastman Kodak, Ford Motor Company, General Motors, General Electric, GE Medical, Goddard Space Flight Systems, Fujitsu, Harris Digital Phone, Hewlett Packard, IBM, IGT Interface Systems, Kenwood Corporation, Lucent ,Mannesmann Tally Corp, M.I.T., Motorola, NASA, NEC, Network Peripherals, Nippon Denso, MSA Baseline, Orbitel Mobile Comm, Psi Printer GmbH, Philips Semiconductor, Rockwell International, Sagem SA, Samsung Electronics, Siemens, Sony Corp, Storage Technology, Texas Instruments, Takasago Corp, Toyota, Video Lottery, Video Guide, VLSI, Westinghouse, Xircom, Zitel
■國內(nèi)部分用戶:
航天部204所,郵電部數(shù)據(jù)所,北京卡斯特,航空部614所,中科院沈陽自動化所,北京千網(wǎng)數(shù)據(jù)公司,北京凌云公司,清華大學(xué),長沙國防科技大學(xué),復(fù)旦大學(xué),華北電力大學(xué),鄭州信息工程學(xué)院,煙臺東方電子集團,深圳桑達(dá),上海博達(dá),深圳邁瑞,深圳天地通訊,鐵道部大連內(nèi)燃機車研究所,總參機要局,南京南瑞總公司,航天第二設(shè)計院,西安儀表,郎訊(中國)有限公司,海軍計算所,恒基偉業(yè),廣州金鵬集團,杭州東方集團,福州新大陸,深圳康佳,西安東強,北京華大集成電路設(shè)計中心,廣東信利集團,香港IDT,香港訊研,太原中航儀表集團,新科電子,上海中興,上海廣電,石家莊54所,總參56所,武漢郵科院,上海德理,上海貝爾,斯高柏(C-Cube)、航天部503所等等。
c++相關(guān)文章:c++教程
三維掃描儀相關(guān)文章:三維掃描儀原理
評論