《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式實時操作系統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可以對每個任務分別定義堆棧空間的大小,開發人員可根據任務的實際需求來進行棧空間的分配。但在RAM容量有限的情況下,還是應該注意一下對大型數組、數據結構和函數的使用,別忘了,函數的形參也是要推入堆棧的。

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

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

  結語

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

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲日本aⅴ片在线观看香蕉| 最新日韩中文字幕| 国产欧美日韩| 一区二区三区日韩| 国产乱码精品1区2区3区| 亚洲欧美日韩天堂一区二区| 黑人中文字幕一区二区三区| 欧美偷拍一区二区| 99精品国产一区二区青青牛奶| 亚洲二区在线视频| 亚洲欧美日韩在线| 久久精品72免费观看| 亚洲欧美一区在线| 国产精品美女主播在线观看纯欲| 欧美精品免费观看二区| 欧美精品国产一区| 亚洲小视频在线| 激情伊人五月天久久综合| 亚洲国产成人在线| 久久久xxx| 亚洲曰本av电影| 亚洲国产精品久久久久| 欧美va天堂va视频va在线| 亚洲国产一区二区三区a毛片| 欧美系列一区| 久久xxxx| 国产精品男人爽免费视频1| 国产精品裸体一区二区三区| 欧美aaaaaaaa牛牛影院| 欧美大香线蕉线伊人久久国产精品| 欧美不卡一卡二卡免费版| 日韩视频中文| 亚洲成色www8888| 韩日欧美一区二区三区| 亚洲欧美三级在线| 欧美日韩精品一区二区三区| 国产欧美一区二区三区国产幕精品| 久久香蕉国产线看观看网| 亚洲午夜av电影| 国产精品视频一区二区高潮| 欧美与黑人午夜性猛交久久久| 午夜精品久久久久久久99水蜜桃| 久久综合网络一区二区| 欧美日韩一区三区| 欧美日本一区二区高清播放视频| 伊人色综合久久天天五月婷| 亚洲专区一区| 日韩视频在线观看国产| 久久久999国产| 在线观看中文字幕亚洲| 99国产欧美久久久精品| 欧美专区在线播放| 尤物网精品视频| 91久久精品久久国产性色也91| 亚洲人成绝费网站色www| 久久精品99国产精品日本| 国产精品日韩在线一区| 亚洲欧美日韩中文在线制服| 欧美精品一区二区在线播放| 欧美一级专区| 悠悠资源网久久精品| 欧美性大战久久久久久久蜜臀| 欧美日本成人| 亚洲免费观看高清完整版在线观看熊| 国产亚洲一级高清| 欧美激情一区二区| 久久亚洲一区二区| 亚洲另类自拍| 欧美jizz19性欧美| 国产精品美女久久福利网站| 欧美日韩在线精品| 亚洲欧美日韩国产综合在线| 99精品视频一区| 欧美一区二区三区免费在线看| 国产亚洲人成a一在线v站| 久久xxxx| 欧美日韩欧美一区二区| 美女网站在线免费欧美精品| 亚洲欧美日韩精品久久久| 久久精品亚洲一区二区三区浴池| 欧美专区日韩专区| 国产欧美日韩另类一区| 一区二区精品在线| 先锋资源久久| 国产欧美一级| 亚洲国产综合视频在线观看| 久久国内精品自在自线400部| 亚洲网站视频| 另类国产ts人妖高潮视频| 国产一区日韩二区欧美三区| 欧美亚洲免费电影| 久久免费精品日本久久中文字幕| 亚洲区欧美区| 欧美理论电影在线播放| 亚洲免费观看高清完整版在线观看熊| 亚洲国产综合视频在线观看| 国产精品私拍pans大尺度在线| 日韩视频精品| 在线播放日韩专区| 亚洲淫片在线视频| 麻豆9191精品国产| 国产亚洲精品久久久| 一本一道久久综合狠狠老精东影业| 亚洲国产高潮在线观看| 亚洲免费观看视频| 久久九九精品| 欧美国产日韩精品| 欧美日韩亚洲91| 国产精品伊人日日| 亚洲电影免费观看高清| 久久经典综合| 国产精品国产三级国产aⅴ浪潮| 欧美超级免费视 在线| 亚洲午夜高清视频| 亚洲人久久久| 欧美日本三级| 国产欧亚日韩视频| 欧美福利电影在线观看| 国产精品美女久久久浪潮软件| 国产精品乱码妇女bbbb| 欧美视频在线观看视频极品| 国产欧美一区二区精品忘忧草| 久久综合99re88久久爱| 欧美午夜片欧美片在线观看| 午夜视频久久久久久| 亚洲欧美日本视频在线观看| 亚洲视频一区在线观看| 午夜在线不卡| 亚洲美女尤物影院| 国产精品欧美日韩一区| 一区二区三区波多野结衣在线观看| 亚洲午夜精品17c| 欧美sm极限捆绑bd| 一本到12不卡视频在线dvd| 日韩视频在线一区| 亚洲午夜电影| 午夜精品久久久久久久蜜桃app| 一区二区三区鲁丝不卡| 在线欧美电影| 午夜一区二区三视频在线观看| 国内自拍视频一区二区三区| 一区二区三区免费网站| 欧美亚洲不卡| 在线日韩av| 亚洲欧美卡通另类91av| 中国成人亚色综合网站| 国产精品久久综合| 国产日韩欧美一区二区三区在线观看| 一本一本久久a久久精品综合妖精| 久久精品国产精品亚洲精品| 美女露胸一区二区三区| 久久久精品久久久久| 欧美日韩综合不卡| 欧美日一区二区在线观看| 亚洲高清不卡在线观看| 亚洲国产精品一区二区尤物区| 欧美mv日韩mv国产网站| 美女啪啪无遮挡免费久久网站| 久久在线观看视频| 欧美日韩亚洲一区二区三区四区| 欧美激情第六页| 亚洲第一在线综合在线| 亚洲国产高潮在线观看| 国产农村妇女毛片精品久久莱园子| 国产在线播精品第三| 免费日韩av电影| 亚洲日韩欧美视频一区| 欧美日韩伊人| 亚洲七七久久综合桃花剧情介绍| 国产精品免费久久久久久| 欧美成人免费观看| 亚洲免费精品| 欧美日韩1234| 中文精品视频一区二区在线观看| 在线亚洲精品| 国产日韩精品综合网站| 久久aⅴ乱码一区二区三区| 亚洲欧美精品中文字幕在线| 久久女同互慰一区二区三区| 合欧美一区二区三区| 亚洲欧美中文在线视频| 国产一区二区三区的电影| 亚洲欧美日韩一区二区三区在线| 久久久久久穴| 欧美一区二区三区视频| 欧美日韩视频一区二区三区| 国产精品裸体一区二区三区| 欧美日韩在线视频观看| 欧美一区二区三区在线免费观看| 日韩午夜在线电影| 久久综合电影| 欧美另类一区| 亚洲电影在线看| 日韩一级网站| 欧美色播在线播放| 欧美片网站免费| 在线不卡a资源高清| 国产日韩欧美视频| 午夜日本精品| 亚洲一区二区三区国产| 久久亚洲春色中文字幕| 久久av一区二区三区| 国产一区在线观看视频| 性娇小13――14欧美| 蜜臀99久久精品久久久久久软件| 欧美精品少妇一区二区三区| 亚洲一区欧美一区| 欧美一级大片在线免费观看| 欧美成在线视频| 国产一区二区成人| 伊人色综合久久天天五月婷| 亚洲精品五月天| 久久久亚洲国产美女国产盗摄| 性欧美xxxx大乳国产app| 国产精品久久久久久影院8一贰佰| 久久精品视频免费观看| 亚洲午夜精品网| 国产欧美二区| 午夜国产精品影院在线观看| 久久蜜桃香蕉精品一区二区三区| 一区二区精品在线观看| 一区二区激情| 欧美日韩在线视频一区| 欧美日本国产一区| 亚洲——在线| 亚洲欧洲一区二区在线观看| 国产精品久久久久久福利一牛影视| 免费不卡中文字幕视频| 一区三区视频| 亚洲视频一区二区| 欧美一区二区三区免费大片| 国产精品剧情在线亚洲| 狠狠噜噜久久| 亚洲国产美女| 国产精品久久久久9999| 欧美日韩一区二区欧美激情| 亚洲在线不卡| 亚洲视频在线观看三级| 精品盗摄一区二区三区| 久久偷看各类wc女厕嘘嘘偷窃| 久久国产欧美| 最新精品在线| 亚洲国产一区视频| 欧美揉bbbbb揉bbbbb| 亚洲欧美成人一区二区在线电影| 国产亚洲精品久久久久动| 亚洲二区在线| 亚洲一区网站| 欧美日韩综合久久| 亚洲精品久久久一区二区三区| 欧美高清不卡| 国产精品高潮呻吟久久av黑人| 亚洲精品极品| 亚洲国产精品久久久| 国产亚洲日本欧美韩国| 久久露脸国产精品| 欧美成人资源| 狠狠色综合一区二区| 亚洲人成网在线播放| 免费亚洲婷婷| 先锋影院在线亚洲| 欧美一区在线看| 欧美日韩亚洲一区二区三区| 久久婷婷国产综合尤物精品| 欧美日韩国产欧| 国产精品成人一区二区艾草| 亚洲人成人一区二区三区| 亚洲精选视频免费看| 老色鬼精品视频在线观看播放| 久久婷婷国产麻豆91天堂| 久久精品免视看| 国产精品日韩欧美大师| 欧美日韩免费精品| 久久国产精品久久久久久电车| 你懂的国产精品| 欧美三级韩国三级日本三斤| 亚洲国产女人aaa毛片在线| 国产精品嫩草影院一区二区| 欧美系列一区| 日韩一区二区精品| 夜夜狂射影院欧美极品| 美女视频网站黄色亚洲| 免费久久精品视频| 久久综合综合久久综合| 久久亚洲精品中文字幕冲田杏梨| 亚洲婷婷综合色高清在线| 亚洲第一黄色网| 农夫在线精品视频免费观看| 国产精品免费观看视频| 在线欧美视频| 亚洲一区二区三区精品动漫| 欧美亚洲网站| 亚洲欧美日韩精品久久久久| 一区二区三区你懂的| 午夜精品久久久久久久蜜桃app| 日韩视频在线观看| 欧美日韩成人一区二区三区| 1000部国产精品成人观看| 一区二区三区高清视频在线观看| 国产色产综合色产在线视频| 国产精品美女主播| 亚洲综合电影一区二区三区| 午夜精品影院| 亚洲在线成人| 在线观看欧美日本| 国产精品欧美日韩一区二区| 国内精品视频一区| 欧美一区二区三区男人的天堂| 欧美一区二区精品在线| 怡红院av一区二区三区| 尤物99国产成人精品视频| 国产精品久久久久国产精品日日| 91久久久久久| 久久久精品国产99久久精品芒果| 亚洲综合不卡| 久久五月激情| 亚洲欧美三级伦理| 久久久人成影片一区二区三区| 亚洲最新中文字幕| 国产精品成人一区| 在线亚洲免费| 国产精品久久久久久久久久ktv| 国产区精品在线观看| 欧美激情第1页| 一区二区三区 在线观看视频| 亚洲精品久久久蜜桃| 久久精品国产99国产精品| 国产精品日本|