www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀] μC/OS-II嵌入式實時操作系統(tǒng)自1998年推出以來,因其方便移植、代碼量小、實時性強、可靠性高、內核可剪裁等優(yōu)點,成為我國計算機嵌入式應用領域最受喜愛的實時操作系統(tǒng)

 μC/OS-II嵌入式實時操作系統(tǒng)自1998年推出以來,因其方便移植、代碼量小、實時性強、可靠性高、內核可剪裁等優(yōu)點,成為我國計算機嵌入式應用領域最受喜愛的實時操作系統(tǒng)(Real-Time Opreating System)之一。由于其源碼開源,至今,已經成功在諸多廠家的MCU上移植并應用在各行各業(yè)的電子產品之中,因而備受矚目。此文幫助有意向學習μC/OS-II的初學者全面的、系統(tǒng)的了解實時系統(tǒng)的核心思想,也為正在學習μC/OS-II的童鞋們理清思路,更上層樓。

什么是μC/OS-II?

μC/OS-II是一種基于優(yōu)先級可剝奪型的多任務實時內核,包含了任務調度與管理、時間管理、任務間通信與同步等基本功能。

如何實現(xiàn)多任務?

在μC/OS-II系統(tǒng)中,大多數(shù)情況下,1個任務就是一個死循環(huán),特殊情況是,有的任務執(zhí)行1次后直接銷毀自己。既然是死循環(huán)如何實現(xiàn)多任務呢?這就涉及到一個完整的任務調度機制,簡單來說,就是給每個任務設置合適的優(yōu)先級,CPU只有一個,優(yōu)先級高的任務可以搶占優(yōu)先級低的任務,而獨占CPU。在μC/OS-II中,系統(tǒng)可以管理64個任務,有8個任務預留給系統(tǒng),用戶最多可以創(chuàng)建56個任務,而實質上用戶不應該創(chuàng)建過多的任務,因為這樣的話,優(yōu)先級最低的任務可能無法得到執(zhí)行。

何時執(zhí)行任務調度

簡單來說,高優(yōu)先級的就緒任務發(fā)生時,會搶占低優(yōu)先級任務的CPU,這時系統(tǒng)就會自動執(zhí)行任務調度。在任務銷毀時,掛起時,延時時,中斷退出時都會啟動任務調度。

這里舉個例子,假如下面這段程序具有2個用戶任務LED1_TASK,和KEY_TASK。KEY_TASK的任務優(yōu)先級較高,這段程序無法實現(xiàn)預期的功能,會出現(xiàn)什么問題呢?

 

LED閃燈任務無法得到執(zhí)行,因為程序一直的執(zhí)行按鍵掃描,其優(yōu)先級較高(這里假定沒有中斷發(fā)生)一直在獨占CPU,而沒有釋放,也就是無法執(zhí)行任務調度,在LED任務中,調用OSTimeDly()函數(shù)的同時,LED任務即被掛起,交出CPU的控制權,同時執(zhí)行任務調度,系統(tǒng)會選擇一個處于就緒狀態(tài)的優(yōu)先級最高的任務來執(zhí)行。

舉上面這個例子是為了說明任務調度是在一定情況下發(fā)生的,因為是搶占式的,為了讓低優(yōu)先級的任務得到執(zhí)行,高優(yōu)先級任務必須在適當?shù)那闆r下交出CPU,如果在KEY_TASK任務中,在獲取按鍵信息后面調用OSTimeDly()函數(shù),即可使LED閃燈任務得到執(zhí)行。

關于中斷

中斷在實時操作系統(tǒng)中具有舉足輕重的作用,所以中斷程序的設計無疑是編程的要點及難點,在多任務實時操作系統(tǒng)中,不同的中斷任務被安排不同的優(yōu)先級,在允許中斷嵌套的情況下,最高優(yōu)先級的中斷總能得到及時響應。中斷級的任務可以看成是比最高優(yōu)先級的任務級任務的優(yōu)先級還要高。在用戶中斷服務程序內部,要盡可能的縮短代碼量,不要做耗時的操作,正確的做法是調用任務級任務進行相關的數(shù)據(jù)處理。

同樣,問題來了,在中斷服務程序中觸發(fā)某個任務級任務就緒,是否立即進行任務調度,答案是否定的,因為任務級任務的優(yōu)先級不夠,需等待中斷服務程序退出,那系統(tǒng)如何知道中斷服務程序是否結束了呢,這就需要的中斷程序內部調用系統(tǒng)服務函數(shù)OSIntExit();以此來觸發(fā)任務調度。

硬實時與軟實時

這里說一下硬實時與軟實時的區(qū)別,能夠在指定的期限完成實時任務(即便在最壞的處理負載下也能如此)的操作系統(tǒng)稱為硬實時系統(tǒng)。但并不是任何情況下都需要硬實時支持。如果操作系統(tǒng)在平均情況下能支持任務的執(zhí)行期限,則稱它為軟實時系統(tǒng)。

RTOS的優(yōu)勢是硬實時控制,硬實時不是指“快”,而是指可精確預測可控制,能保證在規(guī)定時間內完成任務。因為執(zhí)行時間可預測,所以當你想快時,只要選一個速度合適的CPU即可,這個需要的速度在μC/OS-II系統(tǒng)中是可以精確算出來的。軟實時系統(tǒng)的時限是一個柔性靈活的,它可以容忍偶然的超時錯誤。失敗造成的后果并不嚴重。

舉個例子,汽車發(fā)生危險時,汽車氣囊彈出必須在一定時間內完成,晚一秒都會造成致命傷害(硬實時)。而在圖像傳輸過程中,偶爾丟失1幀圖像數(shù)據(jù)是可以容忍的(軟實時)。

任務同步與數(shù)據(jù)通信

毫無疑問,任務之間都不是相互割裂的,需要進行數(shù)據(jù)或者信息的交互,為此,μC/OS-II系統(tǒng)提供了用于任務間通信的手段。任務之間可以通過信號量,事件標志組,消息郵箱,消息隊列進行同步。而數(shù)據(jù)通信最簡單的方式是采用全局變量來共享資源,這里面涉及到保障數(shù)據(jù)可靠性的問題,比如,當一個任務正在讀數(shù)據(jù)的時候,還沒有讀完,這時一個中斷觸發(fā)高級別的任務運行,高級別的任務要更新數(shù)據(jù),這就會導致低級別任務讀出來的數(shù)據(jù)是錯誤的。未解決此問題,可以采用關中斷、關調度、使用互斥信號量、使用計數(shù)信號量來解決,關中斷與關調度比較生硬,也違反了系統(tǒng)的實時性設計原則,因此推薦使用互斥信號量來解決,所謂互斥信號量,相當于一個鑰匙,鑰匙只有一個,當一個任務要訪問該資源時,必須先取得該鑰匙。

時鐘節(jié)拍

μC/OS-II需要用戶提供一個周期性的中斷來實現(xiàn)延時和超時等操作,這個周期性的時鐘叫“時鐘節(jié)拍”,其頻率范圍通常在10~1000Hz之間。時鐘節(jié)拍的頻率大小取決于對定時精度的要求,頻率越高,系統(tǒng)的負擔越重。

問題:時鐘節(jié)拍是否是μC/OS-II中必不可少的?沒有時鐘節(jié)拍系統(tǒng)是否能夠工作?

答案是:沒有時鐘節(jié)拍,系統(tǒng)照樣可以工作,只是無法進行延時或者超時判斷,無法調用延時函數(shù)來進行任務調度,但是仍然有其它方法可以進行任務切換。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

  本文主要搭建一個多生理參數(shù)測量系統(tǒng)的數(shù)據(jù)處理平臺,在FPGA中嵌入一個32位Nios II軟核處理器,用于控制數(shù)據(jù)的傳輸、存儲及顯示。主要完成了此數(shù)據(jù)處理平臺硬件系統(tǒng)的定制及編寫相應程序,以控制數(shù)

關鍵字: NIOS ii 生理

據(jù)9月9日消息,索尼Xperia 5 Ⅱ將于9月17日正式發(fā)布。 該機現(xiàn)已通過FCC認證,F(xiàn)CC文件顯示索尼Xperia 5 Ⅱ配備的充電器型號為Sony UCH32,支持18W快充。

關鍵字: xperia 5 1 ii

7 月 14 日消息 蘋果 Apple IIe 電腦在 37 年前的 1983 年問世,但不要以為它不能勝任現(xiàn)代的任務。有 Twitter 用戶近日展示了如何讓 Apple IIe 實現(xiàn)現(xiàn)代化的的任

關鍵字: apple ii

華碩在2019年經歷了一年的復蘇,其堅實的Zenfone 6和強大的ROG Phone II游戲引擎將于今年問世。 盡管Zenfone在11月收購了Android 10,但該公司現(xiàn)在正為ROG Phone II推出穩(wěn)定的...

關鍵字: 10 Android ii phone rog 華碩

Linux內核對其驅動程序進行了修改,來支持Macintosh II系統(tǒng)上的Apple Desktop Bus。

關鍵字: ii Linux macintosh 驅動

在這篇文章中,小編將為大家?guī)砣A碩全新ROG Zenith II Extreme的相關報道。如果你對本文即將要講解的內容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關鍵字: extreme ii rog zenith 華碩 tda21490

不考慮這兩年來處理器從4核達大幅提升到8核甚至16核的情況,單從CPU性能來看,大家普遍認為過去幾年CPU都是在擠牙膏升級,原因都懂得。那問題來了,如果是跨度十年的話,那如今的CPU到底比09年的CP

關鍵字: 810 ii x86 處理器 擠牙膏 酷睿 phenom

主板產品一直是人們的關注焦點之一,因此在這篇文章中,小編將為大家?guī)砣A碩ROG ZENITH II EXTREME。如果你想了解它的詳細內容,請繼續(xù)閱讀。

關鍵字: extreme ii rog zenith 主板 華碩

AMD剛剛發(fā)布的第三代線程撕裂者用上了7nm Zen 2,不過接口改為新的sTRX4,必須搭配新的TRX40芯片組主板。 華碩率先發(fā)布了三款全新的TRX40主板,分別是玩家國度系列的ROG ZENIT

關鍵字: extreme ii rog zenith 主板 圖賞 三代撕裂者 坐騎

到目前為止,我們已經看過太多關于 iPhone 11 的相機對比評測了,例如此前的 Pixel 4 夜景對比、Mate 30 Pro 相機對比。而最近,國外攝影 UP 主則進行了一項不太一樣的相機對比

關鍵字: 11 ii iPhone mark pro 佳能 實拍 1dx
關閉