《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式實時操作系統uCOS II的分析
嵌入式實時操作系統uCOS II的分析
互聯網
摘要:  早在20世紀60年代,就已經有人開始研究和開發嵌入式操作系統。但直到最近,它才在國內被越來越多的提及,在通信、電子、自動化等需要實時處理的領域所曰益顯現的重要性吸引了人們越來越多的注意力。但是,人們所談論的往往是一些著名的商業內核,諸如VxWorks、PSOS等。這些商業內核性能優越,但價格昂貴,主要用于16位和32位處理器中,針對國內大部分用戶使用的51系列8位單片機,可以選擇免費的uCOS II。
Abstract:
Key words :

  引言

  早在20世紀60年代,就已經有人開始研究和開發嵌入式操作系統。但直到最近,它才在國內被越來越多的提及,在通信、電子、自動化等需要實時處理的領域所曰益顯現的重要性吸引了人們越來越多的注意力。但是,人們所談論的往往是一些著名的商業內核,諸如VxWorks、PSOS等。這些商業內核性能優越,但價格昂貴,主要用于16位和32位處理器中,針對國內大部分用戶使用的51系列8位單片機,可以選擇免費的uCOS II" title="uCOS II">uCOS II。

  uCOS II的特點

  1.uCOS II是由Labrosse先生編寫的一個開放式內核,最主要的特點就是源碼公開。這一點對于用戶來說可謂利弊各半,好處在于,一方面它是免費的,另一方面用戶可以根據自己的需要對它進行修改。缺點在于它缺乏必要的支持,沒有功能強大的軟件包,用戶通常需要自己編寫驅動程序,特別是如果用戶使用的是不太常用的單片機,還必須自己編寫移植程序。

  2.uCOS II是一個占先式的內核,即已經準備就緒的高優先級任務可以剝奪正在運行的低優先級任務的CPU使用權。這個特點使得它的實時性比非占先式的內核要好。通常我們都是在中斷服務程序中使高優先級任務進入就緒態(例如發信號),這樣退出中斷服務程序后,將進行任務切換,高優先級任務將被執行。拿51單片機為例,比較一下就可以發現這樣做的好處。假如需要用中斷方式采集一批數據并進行處理,在傳統的編程方法中不能在中斷服務程序中進行復雜的數據處理,因為這會使得關中斷時間過長。所以經常采用的方法是置一標志位,然后退出中斷。由于主程序是循環執行的,所以它總有機會檢測到這一標志并轉到數據處理程序中去。但是因為無法確定發生中斷時程序到底執行到了什么地方,也就無法判斷要經過多長時間數據處理程序才會執行,中斷響應時間無法確定,系統的實時性不強。如果使用μC/OS-II的話,只要把數據處理程序的優先級設定得高一些,并在中斷服務程序中使它進入就緒態,中斷結束后數據處理程序就會被立即執行。這樣可以把中斷響應時間限制在一定的范圍內。對于一些對中斷響應時間有嚴格要求的系統,這是必不可少的。但應該指出的是如果數據處理程序簡單,這樣做就未必合適。因為uCOS II要求在中斷服務程序末尾使用OSINTEXIT函數以判斷是否進行任務切換,這需要花費一定的時間。

  3.uCOS II和大家所熟知的Linux等分時操作系統不同,它不支持時間片輪轉法。uCOS II是一個基于優先級的實時操作系統,每個任務的優先級必須不同,分析它的源碼會發現,uCOS II把任務的優先級當做任務的標識來使用,如果優先級相同,任務將無法區分。進入就緒態的優先級最高的任務首先得到CPU的使用權,只有等它交出CPU的使用權后,其他任務才可以被執行。所以它只能說是多任務,不能說是多進程,至少不是我們所熟悉的那種多進程。顯而易見,如果只考慮實時性,它當然比分時系統好,它可以保證重要任務總是優先占有CPU。但是在系統中,重要任務畢竟是有限的,這就使得劃分其他任務的優先權變成了一個讓人費神的問題。另外,有些任務交替執行反而對用戶更有利。例如,用單片機控制兩小塊顯示屏時,無論是編程者還是使用者肯定希望它們同時工作,而不是顯示完一塊顯示屏的信息以后再顯示另一塊顯示屏的信息。這時候,要是uCOS II即支持優先級法又支持時間片輪轉法就更合適了。

  4.uCOS II對共享資源提供了保護機制。正如上文所提到的,uCOS II是一個支持多任務的操作系統。一個完整的程序可以劃分成幾個任務,不同的任務執行不同的功能。這樣,一個任務就相當于模塊化設計中的一個子模塊。在任務中添加代碼時,只要不是共享資源就不必擔心互相之間有影響。而對于共享資源(比如串口),uCOS II也提供了很好的解決辦法。一般情況下使用的是信號量的方法。簡單地說,先創建一個信號量并對它進行初始化。當一個任務需要使用一個共享資源時,它必須先申請得到這個信號量,而一旦得到了此信號量,那就只有等使用完了該資源,信號量才會被釋放。在這個過程中即使有優先權更高的任務進入了就緒態,因為無法得到此信號量,也不能使用該資源。這個特點的好處顯而易見,例如當顯示屏正在顯示信息的時候,外部產生了一個中斷,而在中斷服務程序中需要顯示屏顯示其他信息。這樣,退出中斷服務程序后,原有的信息就可能被破壞了。而在μC/OS-II中采用信號量的方法時,只有顯示屏把原有信息顯示完畢后才可以顯示新信息,從而可以避免這個現象。不過,采用這種方法是以犧牲系統的實時性為代價的。如果顯示原有信息需要耗費大量時間,系統只好等待。從結果上看,等于延長了中斷響應時間,這對于未顯示信息是報警信息的情況,無疑是致命的。發生這種情況,在μC/OS-II中稱為優先級反轉,就是高優先級任務必須等待低優先級任務的完成。在上述情況下,在兩個任務之間發生優先級反轉是無法避免的。所以在使用uCOS II時,必須對所開發的系統了解清楚,才能決定對于某種共享資源是否使用信號量。

  uCOS II在單片機使用中的一些特點

  1.在單片機系統中嵌入uCOS II將增強系統的可靠性,并使得調試程序變得簡單。以往傳統的單片機開發工作中經常遇到程序跑飛或是陷入死循環??梢杂每撮T狗解決程序跑飛問題,而對于后一種情況,尤其是其中牽扯到復雜數學計算的話,只有設置斷點,耗費大量時間來慢慢分析。如果在系統中嵌入 uCOS II的話,事情就簡單多了??梢园颜麄€程序分成許多任務,每個任務相對獨立,然后在每個任務中設置超時函數,時間用完以后,任務必須交出 CPU的使用權。即使一個任務發生問題,也不會影響其他任務的運行。這樣既提高了系統的可靠性,同時也使得調試程序變得容易。

  2.在單片機系統中嵌入uCOS II將增加系統的開銷?,F在所使用的51單片機,一般是指87C51或者89C51,其片內都帶有一定的RAM和 ROM。對于一些簡單的程序,如果采用傳統的編程方法,已經不需要外擴存儲器了。如果在其中嵌入uCOS II的話,在只需要使用任務調度、任務切換、信號量處理、延時或超時服務的情況下,也不需要外擴ROM了,但是外擴RAM是必須的。由于uCOS II是可裁減的操作系統,其所需要的RAM大小就取決于操作系統功能的多少。舉例來說,μC/OS-II允許用戶定義最大任務數。由于每建立一個任務,都要產生一個與之相對應的數據結構TCB,該數據結構要占用很大一部分內存空間。所以在定義最大任務數時,一定要考慮實際情況的需要。如果定得過大,勢必會造成不必要的浪費。嵌入uCOS II以后,總的RAM需求可以由如下表達式得出:

  RAM總需求=應用程序的RAM需求+內核數據區的RAM需求+(任務棧需求+最大中斷嵌套棧需求)·任務數

  所幸的是,μC/OS-II可以對每個任務分別定義堆??臻g的大小,開發人員可根據任務的實際需求來進行棧空間的分配。但在RAM容量有限的情況下,還是應該注意一下對大型數組、數據結構和函數的使用,別忘了,函數的形參也是要推入堆棧的。

  3.uCOS II的移植也是一件需要值得注意的工作。如果沒有現成的移植實例的話,就必須自己來編寫移植代碼。雖然只需要改動兩個文件,但仍需要對相應的微處理器比較熟悉才行,最好參照已有的移植實例。另外,即使有移植實例,在編程前最好也要閱讀一下,因為里面牽扯到堆棧操作。在編寫中斷服務程序時,把寄存器推入堆棧的順序必須與移植代碼中的順序相對應。

  4.和其他一些著名的嵌入式操作系統不同,uCOS II在單片機系統中的啟動過程比較簡單,不像有些操作系統那樣,需要把內核編譯成一個映像文件寫入ROM中,上電復位后,再從ROM中把文件加載到RAM中去,然后再運行應用程序。uCOS II的內核是和應用程序放在一起編譯成一個文件的,使用者只需要把這個文件轉換成HEX格式,寫入ROM中就可以了,上電后,會像普通的單片機程序一樣運行。

  結語

  由以上介紹可以看出,uCOS II具有免費、使用簡單、可靠性高、實時性好等優點,但也有移植困難、缺乏必要的技術支持等缺點,尤其不像商用嵌入式系統那樣得到廣泛使用和持續的研究更新。但開放性又使得開發人員可以自行裁減和添加所需的功能,在許多應用領域發揮著獨特的作用。當然,是否在單片機系統中嵌入uCOS II應視所開發的項目而定,對于一些簡單的、低成本的項目來說,就沒必要使用嵌入式操作系統了。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产高清在线观看视频| 久久精品导航| 国内精品久久久久久影视8| 国产精品久久久久高潮| 欧美日韩亚洲综合一区| 欧美日韩亚洲成人| 欧美日韩一区精品| 欧美视频在线观看 亚洲欧| 欧美三级韩国三级日本三斤| 欧美日韩精品在线播放| 欧美乱在线观看| 欧美日韩精品高清| 欧美日韩三级在线| 欧美日韩综合在线免费观看| 欧美日韩在线免费观看| 欧美视频一区二区三区…| 欧美日韩在线视频一区二区| 欧美性猛交99久久久久99按摩| 欧美日韩综合精品| 国产精品久久一卡二卡| 国产精品你懂的在线欣赏| 国产精品乱码| 国产欧美一区在线| 黄色成人小视频| 1204国产成人精品视频| 亚洲欧洲一区二区三区在线观看| 亚洲片在线资源| 99视频精品| 亚洲一区二区三区乱码aⅴ| 欧美在线观看一区二区| 国产亚洲精品资源在线26u| 国产女优一区| 韩国欧美国产1区| 尤妮丝一区二区裸体视频| 91久久综合| 亚洲线精品一区二区三区八戒| 亚洲综合色激情五月| 欧美一二三区精品| 亚洲国产精品嫩草影院| 日韩视频在线免费| 亚洲欧美一区二区三区极速播放 | 亚洲在线视频网站| 欧美制服丝袜| 欧美成人精品影院| 国产精品va在线| 国产午夜精品全部视频播放 | 亚洲精品欧美专区| 亚洲影院在线观看| 久久久天天操| 欧美日韩成人在线观看| 国产美女一区二区| 亚洲国产精品国自产拍av秋霞| 夜夜嗨网站十八久久| 欧美在线观看一区二区| 日韩一级网站| 欧美在线一级va免费观看| 美女视频一区免费观看| 欧美日韩亚洲不卡| 国产综合久久| 一区二区电影免费在线观看| 久久99伊人| 亚洲校园激情| 欧美 日韩 国产在线| 国产精品狠色婷| 亚洲福利小视频| 亚洲免费小视频| 99精品欧美一区| 久久精品国语| 国产精品激情偷乱一区二区∴| 黄色成人在线网站| 亚洲手机视频| 日韩视频一区二区| 久久久欧美一区二区| 欧美视频观看一区| 在线看国产一区| 香蕉久久一区二区不卡无毒影院| 一本一本久久a久久精品综合妖精| 久久久精品网| 国产精品久久久久久户外露出| 亚洲成色777777女色窝| 午夜激情综合网| 亚洲一区二区三区久久| 欧美激情成人在线视频| 国产亚洲福利社区一区| 亚洲先锋成人| 在线一区亚洲| 欧美国产日韩一区| 黄色成人在线| 午夜精品一区二区三区在线视 | 一区二区国产精品| 亚洲精品资源美女情侣酒店| 久久女同互慰一区二区三区| 国产精品乱码| 一二三区精品| 在线亚洲激情| 欧美丰满高潮xxxx喷水动漫| 红桃av永久久久| 欧美一区日韩一区| 午夜视频在线观看一区二区三区| 欧美精品久久一区| 91久久精品一区二区三区| 亚洲高清不卡在线观看| 久久久久国产精品www| 国产精品久久久久久影院8一贰佰| 亚洲理论在线观看| 99日韩精品| 欧美激情视频免费观看| 在线免费观看日本欧美| 亚洲第一综合天堂另类专| 久久精品在线免费观看| 国产日韩欧美一区在线| 亚洲免费在线观看视频| 翔田千里一区二区| 国产精品免费视频xxxx| 亚洲深夜激情| 亚洲砖区区免费| 国产精品久久国产精品99gif | 一区二区三区亚洲| 欧美一区二区三区免费看| 欧美亚洲免费| 国产女人水真多18毛片18精品视频| 亚洲视频中文| 香蕉成人久久| 国产麻豆精品theporn| 亚洲一区图片| 欧美一区精品| 国产在线视频欧美| 亚洲电影视频在线| 久久偷看各类wc女厕嘘嘘偷窃| 国产亚洲综合精品| 久久成人国产| 老司机67194精品线观看| 伊人男人综合视频网| 亚洲欧洲日产国码二区| 欧美激情综合亚洲一二区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲理伦电影| 欧美色欧美亚洲高清在线视频| 一区二区三区精品视频在线观看| 亚洲一级在线| 国产日韩精品在线| 亚洲二区三区四区| 欧美男人的天堂| 这里只有精品视频| 久久国产精品色婷婷| 极品裸体白嫩激情啪啪国产精品| 亚洲欧洲在线一区| 欧美午夜电影一区| 亚洲欧美在线高清| 久久婷婷麻豆| 亚洲日本va午夜在线电影| 亚洲一区一卡| 国产亚洲综合性久久久影院| 亚洲人成网站999久久久综合| 欧美日韩福利在线观看| 亚洲综合国产| 美女精品在线观看| 日韩视频在线一区二区三区| 亚洲欧美综合精品久久成人 | 亚洲四色影视在线观看| 久久成年人视频| 在线欧美三区| 亚洲一二三区在线| 激情婷婷欧美| 中文网丁香综合网| 国产婷婷一区二区| av不卡在线| 国产免费成人av| 日韩网站免费观看| 国产欧美日韩亚洲一区二区三区| 亚洲二区视频在线| 国产精品久久久久久久久搜平片| 欧美一区二区三区在线| 欧美人成在线视频| 欧美主播一区二区三区美女 久久精品人 | 亚洲一区二区在线免费观看| 国产一区在线看| 亚洲婷婷在线| 在线观看欧美亚洲| 亚洲欧美一区二区视频| 亚洲国产精品久久久久秋霞不卡| 亚洲欧美视频一区二区三区| 在线观看欧美日韩| 香蕉久久夜色| 亚洲精品久久7777| 久久理论片午夜琪琪电影网| 99视频精品免费观看| 久久伊人亚洲| 亚洲午夜成aⅴ人片| 牛牛影视久久网| 亚洲女女做受ⅹxx高潮| 欧美理论电影网| 亚洲电影av在线| 国产精品欧美一区二区三区奶水| 91久久夜色精品国产九色| 国产日本欧美一区二区三区在线| 99v久久综合狠狠综合久久| 激情欧美日韩| 欧美中文在线视频| 在线综合亚洲|