資料介紹
近年來,在單片機系統中嵌入操作系統已經成為人們越來越關心的一個話題。本文通過對一種源碼公開的單片機嵌入式實時操作系統μC/OS-II為例,闡述了在單片機中使用該嵌入式操作系統的優缺點,以及在應用中應當注意的一些問題。
早在20世紀60年代,就已經有人開始研究和開發嵌入式操作系統。但直到最近,它才在國內被越來越多的提及,在通信、電子、自動化等需要實時處理的領域所日益顯現的重要性吸引了人們越來越多的注意力。但是,人們所談論的往往是一些著名的商業內核,諸如VxWorks、PSOS等。這些商業內核性能優越,但價格昂貴,主要用于16位和32位處理器中,針對國內大部分用戶使用的51系列8位單片機,可以選擇免費的μC/OS-II。
μC/OS-II的特點
1. μC/OS-II是由Labrosse先生編寫的一個開放式內核,最主要的特點就是源碼公開。這一點對于用戶來說可謂利弊各半,好處在于,一方面它是免費的,另一方面用戶可以根據自己的需要對它進行修改。缺點在于它缺乏必要的支持,沒有功能強大的軟件包,用戶通常需要自己編寫驅動程序,特別是如果用戶使用的是不太常用的單片機,還必須自己編寫移植程序。
2. μC/OS-II是一個占先式的內核,即已經準備就緒的高優先級任務可以剝奪正在運行的低優先級任務的CPU使用權。這個特點使得它的實時性比非占先式的內核要好。通常我們都是在中斷服務程序中使高優先級任務進入就緒態(例如發信號),這樣退出中斷服務程序后,將進行任務切換,高優先級任務將被執行。拿51單片機為例,比較一下就可以發現這樣做的好處。假如需要用中斷方式采集一批數據并進行處理,在傳統的編程方法中不能在中斷服務程序中進行復雜的數據處理,因為這會使得關中斷時間過長。所以經常采用的方法是置一標志位,然后退出中斷。由于主程序是循環執行的,所以它總有機會檢測到這一標志并轉到數據處理程序中去。但是因為無法確定發生中斷時程序到底執行到了什么地方,也就無法判斷要經過多長時間數據處理程序才會執行,中斷響應時間無法確定,系統的實時性不強。如果使用 μC/OS-II的話,只要把數據處理程序的優先級設定得高一些,并在中斷服務程序中使它進入就緒態,中斷結束后數據處理程序就會被立即執行。這樣可以把中斷響應時間限制在一定的范圍內。對于一些對中斷響應時間有嚴格要求的系統,這是必不可少的。但應該指出的是如果數據處理程序簡單,這樣做就未必合適。因為μC/OS-II要求在中斷服務程序末尾使用OSINTEXIT函數以判斷是否進行任務切換,這需要花費一定的時間。
3. μC/OS-II和大家所熟知的Linux等分時操作系統不同,它不支持時間片輪轉法。μC/OS-II是一個基于優先級的實時操作系統,每個任務的優先級必須不同,分析它的源碼會發現,μC/OS-II把任務的優先級當做任務的標識來使用,如果優先級相同,任務將無法區分。進入就緒態的優先級最高的任務首先得到CPU的使用權,只有等它交出CPU的使用權后,其他任務才可以被執行。所以它只能說是多任務,不能說是多進程,至少不是我們所熟悉的那種多進程。顯而易見,如果只考慮實時性,它當然比分時系統好,它可以保證重要任務總是優先占有CPU。但是在系統中,重要任務畢竟是有限的,這就使得劃分其他任務的優先權變成了一個讓人費神的問題。另外,有些任務交替執行反而對用戶更有利。例如,用單片機控制兩小塊顯示屏時,無論是編程者還是使用者肯定希望它們同時工作,而不是顯示完一塊顯示屏的信息以后再顯示另一塊顯示屏的信息。這時候,要是μC/OS-II即支持優先級法又支持時間片輪轉法就更合適了。
4. μC/OS-II對共享資源提供了保護機制。正如上文所提到的,μC/OS-II是一個支持多任務的操作系統。一個完整的程序可以劃分成幾個任務,不同的任務執行不同的功能。這樣,一個任務就相當于模塊化設計中的一個子模塊。在任務中添加代碼時,只要不是共享資源就不必擔心互相之間有影響。而對于共享資源(比如串口),μC/OS-II也提供了很好的解決辦法。一般情況下使用的是信號量的方法。簡單地說,先創建一個信號量并對它進行初始化。當一個任務需要使用一個共享資源時,它必須先申請得到這個信號量,而一旦得到了此信號量,那就只有等使用完了該資源,信號量才會被釋放。在這個過程中即使有優先權更高的任務進入了就緒態,因為無法得到此信號量,也不能使用該資源。這個特點的好處顯而易見,例如當顯示屏正在顯示信息的時候,外部產生了一個中斷,而在中斷服務程序中需要顯示屏顯示其他信息。這樣,退出中斷服務程序后,原有的信息就可能被破壞了。而在μC/OS-II中采用信號量的方法時,只有顯示屏把原有信息顯示完畢后才可以顯示新信息,從而可以避免這個現象。不過,采用這種方法是以犧牲系統的實時性為代價的。如果顯示原有信息需要耗費大量時間,系統只好等待。從結果上看,等于延長了中斷響應時間,這對于未顯示信息是報警信息的情況,無疑是致命的。發生這種情況,在μC/OS-II中稱為優先級反轉,就是高優先級任務必須等待低優先級任務的完成。在上述情況下,在兩個任務之間發生優先級反轉是無法避免的。所以在使用μC/OS-II時,必須對所開發的系統了解清楚,才能決定對于某種共享資源是否使用信號量。
- 單片機編程和操作系統綜述 40次下載
- 嵌入式實時操作系統的應用詳細教程說明 2次下載
- 使用51單片機簡單實現小型操作系統的程序免費下載
- 在51單片機中使用ucosii有哪些優缺點詳細資料分析
- 單片機與嵌入式系統linux有什么區別
- 32位單片機與嵌入式操作系統的測試復習題和答案資料免費下載 12次下載
- 單片機搶占式嵌入式操作系統 1次下載
- 基于NoC結構的嵌入式操作系統的設計 0次下載
- 51單片機多任務操作系統的原理與實現 16次下載
- MSP430單片機實時多任務操作系統c源代碼 91次下載
- 基于分時操作系統原理的單片機控制系統
- 嵌入式實時操作系統ucosii的分析
- 基于單片機的嵌入式USB主機系統的實現
- 單片機+CPLD結構體系在電子設計中的應用
- 多單片機系統中的數據交換
- 國產RT-thread操作系統在國民技術單片機上移植 395次閱讀
- 單片機引腳中的VCC和VDD有什么區別? 7536次閱讀
- 如何將FreeRTOS移植到STM32單片機上 2865次閱讀
- 51單片機操作系統開發中有什么技巧會碰到什么問題 2898次閱讀
- 51系列中嵌入式單片機的優缺點分析 3136次閱讀
- 該如何正確選擇嵌入式操作系統 2707次閱讀
- 目前國內在ARM CPU上廣泛采用的三種嵌入式操作系統淺析 3894次閱讀
- 51單片機實時操作系統的基本結構與模式 5400次閱讀
- 單片機和嵌入式系統linux的區別 6889次閱讀
- 51單片機優缺點及應用領域介紹 6.1w次閱讀
- 單片機與嵌入式系統有什么區別和聯系? 1.4w次閱讀
- 什么是嵌入式操作系統 常見的嵌入式系統有哪些 4w次閱讀
- 嵌入式操作系統是什么_嵌入式操作系統有哪些 2w次閱讀
- 基于FreeRTOS的嵌入式實時操作系統的原理和實現 6562次閱讀
- 概述及匯總ARM的嵌入式操作系統 2951次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多