日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB
關注中國自動化產業發展的先行者!
工業智能邊緣計算2025年會
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

Nucleus Plus在嵌入式系統應用
  • 企業:控制網     領域:機器視覺     行業:市政工程    
  • 點擊數:1270     發布時間:2005-07-15 14:45:37
  • 分享到:



    Nucleus Plus是美國源代碼操作系統商ATI公司推出的新一代嵌入式操作系統,屬于搶先式實時多任務操作系統內核, 95%的代碼使用ANSI C編寫,非常便于移植于各種處理器家族。從實現的角度講,不同于傳統嵌入式開發,Nucleus Plus是以函數庫的形式鏈接到目標應用程序中,形成可執行目標代碼,下載到目標板上或燒到ROM/FLASH ROM 中去執行。Nucleus Plus內核在典型的CISC體系結構上占據大約20k空間,而在典型的RISC體系結構上占據空間為40k左右,其內核數據結構占據1.5k字節的空間。Nucleus Plus以其實時響應、搶先、多任務以及源代碼開放特性獲得在通訊、國防、工業控制、航空/航天、鐵路、網絡、POS、自動化控制、智能家電等領域的廣泛應用。
 
    Nucleus Plus內核技術

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

    Nucleus Plus Kernel:

                       Common Service Component(CS)

                       Initialization Component(IN)

                       Tread Control Component(TC)

                       Timer Component(TI)

                       Mailbox Component(MB)

                       Pipe Component(PI)

                       Semaphore Component(SM)

                       Event Flag Component(EV)

                       Partition Component(PM)

                       Queue Component(QM)

                       Dynamic Memory Component(DM)

                       I/O Component(I/O)

                       History Component(HI)

                       Error Component(ER)

                       License Component (LI)

                       Release Component(RL)

     其中:

    *  IN:負責初始化Nucleus Plus 系統

    *  TC:負責管理Nucleus Plus的搶占式實時 任務和HISR的運行

    *  CS:負責提供具有鏈接列表其它的設備Nucleus Plus 組件

    *  TM:負責管理所有的Nucleus Plus 定時器設備。Nucleus Plus 的基本定時單元為一個Tick,它相當于一次硬件定時器中斷

    *  MB:負責管理所有的Nucleus Plus 信箱設備

    *  QM:負責管理所有的Nucleus Plus 隊列設備

    *  PI :負責管理所有的Nucleus Plus 管道設備

    *  SM:負責管理所有的Nucleus Plus 信號量設備

    *  EV:負責管理所有的Nucleus Plus 事件組設備

    *  PM:負責管理所有的Nucleus Plus 分區內存

    *  DM:負責管理所有的Nucleus Plus 動態內存

    *  I/O:負責管理所有的Nucleus Plus 輸入/輸出

    *  HI:負責Nucleus Plus的歷史設備管理

    *  ER:負責管理所有的Nucleus Plus 系統錯誤

    *  LI:負責Nucleus Plus的許可證管理

    *  RL:負責Nucleus Plus 的版本管理

    Nucleus Plus 其它功能模塊

    Nucleus Plus 除了其功能強大的內核外,還提供了面向INTERNET、TCP/IP、WEB瀏覽器、圖形以及文件系統的軟件包。

    Nucleus Plus 開發

    1.Nucleus Plus 定制

    Nucleus Plus 也能根據目標板的需要進行裁剪和定制,生成適合目標系統的操作系統,盡量少占系統內存。OS定制完成后,將其鏈接到目標應用程序,成為目標應用程序的一部分。在典型的CISC體系結構的目標板上,它占用約20K 左右的空間,而在RISC體系結構的目標板上占用約40K左右的空間。一般地,Nucleus Plus 足以滿足絕大多數的嵌入式應用。ATI公司提供了一個名為BUILD_LI.BAT或PLUS.BAT的批處理文件,用戶可以刪剪其中的模塊,更改相關的選項或開關,執行該文件生成與目標相關的操作系統,也就是根據系統需要生成定制的操作系統。需要注意的是,該批處理文件的內容與開發工具有關。

    2.開發方案

    Nucleus Plus可以結合Paradigm、SDS以及ATI的多任務調試器組成功能強大的集成開發環境,配合相應的編譯器(Borland c/c++ 編譯器、Turbo c/c++ 編譯器或者Microsoft c/c++編譯器)和動態鏈接庫以及各類底層驅動軟件就可以滿足嵌入式應用的開發。

    3.開發流程

    用Nucleus Plus 開發嵌入式應用程序,一般遵循如下步驟:

    *  如果有必要,應對低級系統初始化文件.INT進行修改,使之符合目標板的需要。如中斷向量、I/O地址、時鐘頻率等。

    *  定義Application _Initialize()函數。該函數在啟動系統之前先執行。注意的是要把NUCLEUS.H頭文件包括在目標應用程序中,以便利用Nucleus Plus 的服務。

    *  定義應用程序的任務。如果調用Nucleus Plus 的服務,要把NUCLEUS.H包含進去。

    *  編譯/匯編所有的應用程序軟件,并且包含系統低級初始化文件.INT。

    *  鏈接.INT和所有的應用程序目標文件、Nucleus Plus庫文件以及相關的開發工具庫。

    *  把生成的最終目標代碼下載或燒到目標板上執行。

    4.Nucleus Plus 初始化

    Nucleus Plus 分三個層次的初始化,即:系統低級初始化Int-Initialize()、系統高級初始化Inc-Initialize()和應用程序初始化Application_Initialize(),初始化之后便進入Nucleus Plus 的任務調度循環。各個初始化函數任務見表1。

               表1:Nucleus Plus 初始化表

    Int_Initialize()

    Inc_Initialize()

    Application_Initialize()

    *  設置必要的處理器/系統控制寄存器

    *  初始化中斷向量表

    *  設置系統堆棧寄存器

    *  計算定時器HISR堆棧和優先級

    *  計算系統第一個可用內存

    *  將控制交給系統高級初始化例程

    *  初始化Nucleus Plus 組件

    *  將控制交給應用程序初始化例程

    *  任務調度

    *  執行用戶定義的初始化,如創建內存池,創建任務、創建信號量、創建隊列等

 

    5.Nucleus MNT

    Nucleus MNT是為軟件開發者設計的,在WIN95/NT下構筑Nucleus Plus嵌入式應用的原型(Prototyping)環境。它通過兩個庫來實現,即針對目標環境的庫和針對Win95/NT開發環境的庫。開發時,應用程序代碼可以不變,僅僅替換掉MNT庫,使用交叉開發工具包重構目標環境下的可執行目標代碼。


    6.開發注意事項

    嵌入式開發在內存需求、任務管理等方面存在著特殊性,因此,開發中對以下方面要額外加以注意,

    *  任務饑荒

    任務優先級的分配要合理,否則會導致系統中的一些任務一直不斷地在運行而另一些任務永遠得不到運行,引起饑荒。

    *  死鎖

    系統資源的分配要合理,否則會引起兩個或多個任務為競爭某一系統資源而處于無限掛起現象。

    *  內存

    *  內存泄露

    內存分配過程中要盡量避免碎片并且要注意及時回收。

    * 內存節約

    * 默認情況下,Nucleus Plus, 在高級初始化函數Inc_Initialize()中。調用其它函數初始化它所提供的所有特征的數據結構中,有些特征用戶目標應用程序可能用不到,為此,要去掉不必要的函數調用。

    * 改變Nucleus.H中NU_MAX_LISRS的大小,它定義的是目標處理器的最大中斷向量數。

    * 改變TC_DEFS.H中TC_PRIORITIES的大小。它定義了任務的優先級數。Nucleus Plus 能支持256個優先級。

    * HISR棧共享。

    * TCD.C中禁止查詢表TCD_LOWEST_SET_BIT的RAM拷貝。

    * 使用一個更小的INT選項。

    結束語

    由于Nucleus Plus 的模塊化、可靠、重用、開放、易用以及安全等特性使得它成為嵌入式應用開發的理想平臺,尤其是關系到國計民生的領域,如航空/航天、軍隊、國防等方面。

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 国产精品视频你懂的-国产精品视频网-国产精品视频一区二区猎奇-国产精品视频一区二区三区-国产精品视频一区二区三区不-国产精品视频一区二区三区不卡 | 久久久精品视频免费观看,非会员体验60秒试看福利区,免费福利在线观看,国内免费视频成人精品,久久久中文字幕日本,婷婷激情五月 | 欧美夜夜骑,青草视频在线观看完整版,久久精品99无色码中文字幕,欧美日韩一区二区在线观看视频,欧美中文字幕在线视频,www.99精品 热久久国产-热99这里只有精品-热99这里有精品综合久久-热99在线观看-国产精品99久久久-国产精品99久久99久久久看片 | 日韩精品免费观看,亚洲精品国产综合一线久久,99精品国产高清一区二区三区香蕉,亚洲图区欧美,日韩电影免费在线观看中文字幕,999国产精品999久久久久久 | 欧美在线观看一区,免费看日产一区二区三区,欧美一区二区三区在线,精品1区2区3区,亚洲国产一成人久久精品,久久国产精品最新一区 | 久久99国产精品一区二区,欧美日韩另类在线,婷婷四月开心色房播播网,收集最新中文国产中文字幕,亚洲综合激情六月婷婷在线观看,欧美一级淫片 | 久久精品国产2020-久久精品高清视频-久久精品高清-久久精品福利视频-久久精品福利-久久精品店 | 丝袜情趣在线资源二区-丝袜啪啪-丝袜秘书ol连裤袜在线播放-丝袜美女被出水一区-国产国产人在线成免费视频69-国产国产人免费视频成69堂 | 国产一级特黄aa大片在线-国产一级特黄aa大片免费-国产一级视频在线观看-国产一级视频久久-午夜影院免费体验-午夜影院免费入口 | 麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a | 亚洲综合在线观看视频-亚洲综合在线观看一区-亚洲综合在线观看一区www-亚洲综合在线视频-亚洲综合在线网-亚洲综合在线一区 | 国产精品三级不卡电影-国产精品三级高清在-国产精品三级国产电影-国产精品三级国产精品高-国产精品三级国语在线看-国产精品三级九九 | 久久99热不卡精品免费观看,色播综合,国产一级视频在线观看网站,激情综合激情,aa视频在线观看,五月天综合激情网 | 我爱52av好色,一级毛片大全免费播放,成人午夜无人区一区二区,国产一区国产二区国产三区,青青青青久久精品国产h,狠狠操五月天 | 欧美人成在线视频-欧美人成一本免费观看视频-欧美人xxxxxbbbb-欧美区在线-在线不卡免费视频-在线播放周妍希国产精品 | 亚洲国产区男人本色vr-亚洲国产区男人本色-亚洲国产品综合人成综合网站-亚洲国产品有宅男-亚洲国产片在线观看-亚洲国产片精品一区二区三区 | 国产欧美日韩中文久久-国产欧美日韩在线一区二区不卡-国产欧美日韩在线人成aaaa-国产欧美日韩在线观看一区二区三区-婷婷国产天堂久久综合五月-婷婷99视频精品全部在线观看 | 国产日屄视频播放-国产日本中文久久-国产日本在线观看网址-国产日本在线观看播放-国产日本在线播放-国产日本亚洲一区二区三区 | 欧美一区二区三区香蕉视-欧美一区二区三区网站-欧美一区二区三区四区在线观看-欧美一区二区三区四区五区六区-欧美一区二区三区四区视频-欧美一区二区三区视视频 欧美性xxxxxx性,国产精彩视频在线观看,亚洲欧美视屏,久艹网,国产日韩欧美中文,亚洲欧美经典 | 任你躁国语自产二区在线播放-任你懆视频 这里只有精品-人与人特黄一级-人与禽物videos另类-扒开女人下面使劲桶视频-扒开女人下面使劲桶动态图 | 久久99精品久久久久久噜噜噜-久久99精品久久久久久噜噜丰满-久久99精品久久久久久噜噜-久久99精品久久久久久久野外-午夜精品人妻无码一区二区三区-午夜精品免费 欧美日韩在线成人免费-欧美日韩在线成人看片a-欧美日韩在线不卡-欧美日韩在线播放-自拍偷拍三级-自拍偷拍欧美亚洲 | 欧美人与性动交a欧美精品-欧美人与物另类-欧美人与牲动交a欧美精品-欧美人与禽片免播放-国产福利在线观看永久免费-国产福利在线播放 | 第一区免费在线观看-无码国产精品一区二区免费网曝-AV熟妇导航网-日韩欧美一区二区三区在线观看 -欧美乱人伦视频-啪啪视频一区 | 手机看片福利永久国产日韩-手机看片369-手机精品在线-手机国产乱子伦精品视频-国产精品嫩草影院在线观看免费-国产精品嫩草影院在线播放 | 欧美一区二区三区香蕉视-欧美一区二区三区网站-欧美一区二区三区四区在线观看-欧美一区二区三区四区五区六区-欧美一区二区三区四区视频-欧美一区二区三区视视频 欧美性xxxxxx性,国产精彩视频在线观看,亚洲欧美视屏,久艹网,国产日韩欧美中文,亚洲欧美经典 | 久久精品国产2020-久久精品高清视频-久久精品高清-久久精品福利视频-久久精品福利-久久精品店 | 国产精品v欧美精品v日本精品动漫-国产精品porn-国产精品jizzjizz-国产精品h片在线播放-热久久伊人-热久久亚洲 | 欧美日韩国产在线成人网,成人免费一级片,在线观看国产一区,国产麻豆精品免费密入口,国产欧美日韩在线,在线视频观看国产 | aaak7美国发布站-a v 在线视频 亚洲免费-99综合色-99在线这精品视频-国产成人综合洲欧美在线-国产成人综合在线观看网站 | 婷婷五色,五月天激情婷婷大综合,亚洲综合久久久久久中文字幕,国产ww久久久久久久久久,婷婷综合缴情亚洲五月伊,欧美日韩不卡在线 九九香蕉-九九线精品视频-九九五月天-九九天天影视-天天干b-天天干2018 | 国产福利视频在线观看福利-国产福利视频情侣视频-国产福利视频-国产福利美女福利视频免费看-国产鲁鲁视频在线播放-国产噜噜噜精品免费 | 国产一卡2卡3卡四卡精品网站-国产一久久香蕉国产线看观看-国产一进一出视频网站-国产一级在线现免费观看-亚洲高清国产拍精品影院-亚洲高清二区 | yy一级毛片免费视频-yyyyyy高清成人观看-yy6080理aa级伦大片一级毛片-yy4080午夜理论一级毛片-色吊丝在线观看国产-色的视频在线观看免费播放 | 91精品久久久久久久久无码变态-91精品久久久久久久久中文字幕-91精品久久久久久久蜜臀-91精品久久久久久久青草-91精品久久久久久中文字幕-91精品久久久久久综合五月天 | 国产日韩欧美亚洲综合在线-国产日韩欧美视频在线观看-国产日韩欧美视频-国产日韩欧美久久久-人人澡人人澡人人澡-人人澡人人澡人人 | 精品国产亚一区二区三区,91久久精品国产一区二区,久久精品国产国产精品四凭,91午夜精品亚洲一区二区三区,精品在线看,国产视频资源在线观看 | 一个人看的在线www高清视频-一个人看的小说在线阅读-一个人看的手机视频www-一个人看的视频在线观看免费播放动漫-久久99精品久久久久久秒播放器-久久99精品久久久久久秒播 | 国产午夜视频在线,国产夜夜操,人人添人人澡人人澡人人人爽,欧美日韩国产综合视频在线看,精品久久一区二区,亚洲欧美一区二区三区久久 | 精品国产无码一区二区-精品国产无套在线观看-精品国产无限资源免费观看-精品国产午夜福利在线观看-精品国产午夜久久久久九九-精品国产午夜肉伦伦影院 | 一道本在线,国产成人综合精品一区,亚洲v日韩v欧美在线观看,欧美精品国产综合久久,精品日本一区二区三区在线观看,久久精品一区二区三区不卡牛牛 | 2015天堂网-2014天堂网-19国产精品麻豆免费观看-18视频在线观看网站-18黄免app网站-18成网站www在线观看 |