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