一、 ATI公司簡介


■公司全稱:Accelerated Technology Inc.


■成立于19908


■總部在美國Alabama州的Mobile


■在美國的加利佛尼亞,德克薩斯,馬塞諸塞,佛羅裡達以及田納西等設有分支機搆


■在英國、法國和德國設有分支機搆


■在日本、韓國、澳大利亞、台灣、中國、義大利和俄羅斯等國設有代理商




1990年推出Nucleus實時多工作作業系統


■專注于RTOS的研發、銷售和技朮應用及技朮支援


1993年成為MOTOROLA建議的四大RTOS廠商之一


1994年推出全球唯一的MNT虛擬開發平台


1994年推出全球唯一的VNET網路化虛擬平台


1994年成功地推出JavaRTOS產品


1995年成為全球第一大來源碼RTOS廠商


1996年選取旋極科技公司為其中國大陸及香港地區獨家代理商


1997年公司員工數量為82人,成為美國大型的RTOS廠商


1998NET4.2成功推出


1998年成功推出機頂盒方案和OSEK汽車電子方案


1999年推出WebBrowser瀏覽器


1999ATI公司員工數量為150人,已成為美國成長速度最快的內嵌式作業系統公司


2000NET4.4成功推出,完善了NUCLEUS的網路模組









二、 Nucleus PLUS的特點:




Nucleus PLUS 是為實時內嵌式應用而設計的一個先佔式多工作作業系統核心,其95%的程式碼是用ANSIC寫成的,因此非常便于移植并能夠支援大多數類別的處理器。從實現角度來看,Nucleus PLUS 是一組C函數程式庫,應用程式程式碼與核心函數程式庫連線在一起,生成一個目標程式碼,下載到目標板的RAM中或直接燒錄到目標板的ROM中執行。在典型的目標環境中,Nucleus PLUS 核心程式碼區一般不超過20K位元組大小。Nucleus PLUS 釆用了軟體套件的方法。每個套件具有單一而明確的目的,通常由几個C及組合語言模組搆成,提供清晰的外部介面,對套件的參照就是通過這些介面完成的。除了少數一些特殊情況外,不允許從外部對套件內的全域進行存取。由于釆用了軟體套件的方法,Nucleus PLUS 各個套件非常易于替代和複用。Nucleus PLUS 的套件包括工作控制、記憶體管理、工作間通訊、工作的同步與互斥、中斷管理、定時器及I/O驅動等。




Nucleus具有如下特點:




1、提供來源碼




Nucleus PLUS 註釋嚴格的C源級程式碼給每一個用戶。這樣,用戶能夠深入地了解底層核心的運作方式,并可根據自己的特殊要求刪減或改動系統軟體,這對軟體的規格化管理及系統軟體的測試都有極大的輔助說明。另外,由于提供了 RTOS 的源級程式碼,用戶不但可以進行 RTOS 的學習和研究,而且產品在量產時也不必支付 License,可以省去大量的費用。對于軍方來說,由于提供了來源碼,用戶完全可以控制核心而不必擔心作業系統中可能會存在不規則工作導致系統崩潰。




2、性價比高




Nucleus PLUS 由于釆用了先進的微核心 ( Micro-kernel ) 技朮,因而在優先級安排,工作排程,工作切換等各個方面都有相當大的優勢。另外,對C++語言的全面支援又使得Nucleus PLUS Kernel 成為名副其實的物件導向的實時作業系統核心。然而,其價格卻比對合理。所以,容易被廣大的研發單位接受。




3、易學易用




Nucleus PLUS 能夠結合 ParadigmSDS以及 ATI自己的多工作除錯程式組成功能強大的集成設計環境,配合相應的編譯器和動態聯結程式庫以及各類底層驅動軟體,用戶可以輕松地進行 RTOS 的開發和除錯。另外,由于這些集成設計環境 ( IDE ) 為所有的開發工程師所熟悉,因而,容易學習和使用。




4、功能模組丰富




Nucleus PLUS 除提供功能強大的核心作業系統外,還提供種類丰富的功能模組。例如用于通訊系統的局域和廣域網路絡模組,支援圖形應用的實時化 Windows 模組,支援Internet網的 WEB 產品模組,工控機實時 BIOS 模組,圖形用戶介面以及應用軟體效能解析模組等。用戶可以根據自己的應用來選取不同的應用模組。






Nucleus PLUS支援的CPU類別:




Nucleus PLUS RTOS核心可支援如下類別的CPUx86,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類別最丰富的實時多工作作業系統。


針對各種內嵌式應用,Nucleus PLUS 還提供相應的網路協定(如TCP/IPSNMP等),以滿足用戶對通訊系統的開發要求。另外,可重入的檔案系統、可重入的C函數程式庫以及圖形化介面等也給開發者提供了方便。




針對不同的CPU類別,Nucleus 還提供編譯器、動態連線程式庫、多工作除錯程式等相應的工具來配置用戶的設計環境。值得提出的是ATI公司最近還發表了基于Microsoft Developers Studio的內嵌式集成設計環境-NUCLEUS EDE。從而率先將內嵌式開發工具與Microsoft的強大設計環境結合起來,提供給工程師們強大的開發手段。




三、 來源碼帶來的優勢




眾所周知,Nucleus實時多工作作業系統提供給用戶來源碼。這除商務上給用戶帶來巨大益處(免交Royalty)外,還在技朮方面給用戶極大的方便,即無需編寫和除錯BSP,從而達到易學易用的目的,加速產品上市。




RTOS有一定知識的工程師一定清楚,使用RTOS最大的障礙在于編寫和除錯BSP。大家知道,在除錯目標系統的軟體之前,必須將目標與主機連線起來并建立通訊。為此,我們可以編寫一段監控程式(Monitor)。然而,如果要除錯基于RTOS核心的程式,主機上的除錯程式(Debugger)除要與目標建立通訊外,更重要的是必須識別RTOS的工作,這樣才能進行工作級除錯(Task-aware Debugger)。因此,只有Monitor是不夠的。如果我們選用的RTOS不提供來源碼,那么,主機上的除錯程式(Debugger)就只有通過用戶編寫的BSP來了解Kernel在現有硬體平台上對各個工作進行排程的情況。顯然,編寫BSP必須對CPU目標系統的硬體以及應用軟體等有全面而深入的了解。一般說來,對于一個有一定硬體開發經驗的工程師來說,編寫一個新的BSP要花的平均時間為兩個月左右。這對于一個新手來說可是比對困難的。




對于編寫BSP的工程師來說,另外一個更大的挑戰就是如何除錯BSP,即如何驗證所編寫的BSP是否正確。通常剛剛焊接裝載好的PCB板中,硬體或軟體的故障(Bugs)是比對多的。甚至更常見的是CPU部分都沒有運作正常。有時時序錯誤和匯流排錯誤都還存在。在您把寫好的BSP燒入EPROM(或FLASH)中嘗試將目標與主機建立聯繫時,您几乎100%地會發現根本無法通訊,眼前一團漆黑,不知是軟體有錯誤還是硬體不運轉。BSP在正常執行嗎?不得而知。在焦急和摸索中您可能發現几個月已悄然而過。對于早期的實時作業系統來說,BSP是必由之路。然而,新一代的RTOS-Nucleus PLUS則避免了BSP帶來的痛苦過程。因為Nucleus的除錯是基于全新的動態連線程式庫(DLL)。




用戶只須通過監控程式(Monitor)或者BDM除錯口(或者JTAG除錯口)建立目標系統(Target)與主機(Host)之間的通訊,并給主機上的Debugger起始化特徴中加入Nucleus的動態連線程式庫(DLLs),這時,除錯程式就能夠自動地去識別執行在目標系統中的Nucleus核心和各個應用工作,從而完成工作級除錯。上述的動態連線程式庫(DLLs)是由RTOS廠商和Debugger廠商合作完成的,用戶無須自行編寫。因此,Nucleus的用戶只需要將精力放在基于Nucleus的程式設計工作中。對于一個新手,往往經過一天到兩天的學習和培訓,就可以投入到應用程式編制工作中去,無需花大量的時間去研究CPU,特定的硬體等。另外,由于有了源程式,用戶在除錯程式時可以清楚地通過STEP INTO指令,追蹤到RTOS的內層中去,觀看和學習Kernel對工作的管理和排程機制。對于有志研究RTOS深層技朮的工程師來說極為方便


對于Motorola 68KPowerPC,用戶可以利用GreenHill公司的Mutil除錯程式或TRACE-ICD來完成Nucleus PLUS的除錯;對于ARMStrongARM,用戶可以利用ARM公司的SDT251除錯程式或TRACE-ICD來完成Nucleus PLUS的除錯;對于Intel x86實型態,用戶可以利用Paradigm公司的除錯程式及其DLL來進行工作級除錯;對于Intel x86保護型態則可以利用SSI公司Softprobe除錯程式和SSI DLL來除錯;對于i960SH3/4ARM6/7MIPS等晶片,則可以使用ATI公司自己的UDB除錯程式來進行工作的除錯。




結論:


動態連線程式庫(DLL)是在RTOS工具中新出現的應用趨勢,通過這種方式,用戶可以免去BSP帶來的麻煩,靈活方便地進行開發和除錯,大大加速開發進度。Nucleus實時作業系統提供來源碼,支援丰富的CPU種類,配合各類DLL動態連線程式庫,為使用和研究RTOS技朮的工程帶來極大的利益。

 
進行ARM家族的開發需要大量的裝置投入,另外如果做比對大型的系統,還必須要作業系統,購買一個好的作業系統也是需要几十萬元。ARM的應用層研發可以建立在CC++及其他的大多數開發語言上,這對于軟體公司來說是很方便的,只要准備好硬體及作業系統,其他的工作就可以分模組給N個人來進行。而對于底層的東西,ARM公司也可以有比對大力度的支援,因此如果需要用ARM家族開發高端產品,可行性是比對高的,開發周期也不會很長。當然,對于arm晶片,還是有一定的限制,比如沒有除法指令,這樣在程式設計時就要儘量避免用除法,否則會帶來程式程式碼的增加和執行速度的降低。一般說,除法還是可以通過移位和乘法來代替。




Nucleus Plus內核技術


    ATI公司使用一種叫做軟件組件的方法。所謂軟件組件,就是具有明確目的或用途的由1個或數個C語言/彙編源文件的一段非獨立執行應用程序,且每個組件都提供一個定義好的外部接口,必須通過外部接口來使用組件。訪問組件內的全局數據結構是被禁止的。使用了組件方法,軟件組件既易於更新也易於重用。Nucleus Plus軟件組件通常由定義數據類型、常量以及外部接口的INCLUDE 頭文件和一個或多個C語言/彙編源文件組成。Nucleus Plus 提供如下組件:任務控製管理、內存管理、定時器管理、中斷、係統診斷、I/O驅動管理等共16個組件如下,


Nucleus Plus Kernel
    Common Service Component
CS


     Initialization ComponentIN


     Tread Control ComponentTC


     Timer ComponentTI


     Mailbox ComponentMB


     Pipe ComponentPI


     Semaphore ComponentSM


     Event Flag ComponentEV


四、 Nucleus的應用網域和國內外用戶




Nucleus主要應用網域在:網路、路線、橋接、Hubs、資料通訊、頂置盒、數字攝像機、ISDN、調制器、數字繪圖儀、GSM、蜂窩電話、PDA、印表機、GPS、無線通訊、汽車、醫療儀器、RAID、配接卡、智慧卡、安全保密、工業控制、掃描儀、煤氣解析儀、游戲機、多媒體、手持產品、消費產品、區域網路、廣域網路、導航裝置、衛星通訊、自動提款機、視訊產品、條碼機、過程控制等等




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



創作者介紹
創作者 立你斯 的頭像
立你斯

立你斯學習記錄

立你斯 發表在 痞客邦 留言(1) 人氣()