上傳一個關于uCOS-II的知識整理,感覺還不錯,思維導圖對加深理解有很大幫助。
0.jpg (31.01 KB, 下載次數: 161)
下載附件
2018-9-14 02:31 上傳
0.png (27.59 KB, 下載次數: 137)
下載附件
2018-9-14 02:32 上傳
0.png (96.95 KB, 下載次數: 115)
下載附件
2018-9-14 02:32 上傳
1、二值信號量
使用范圍:被控制方總能夠及時相應控制方發出的信號,完成相應處理任務,并在下一次信號來到之前進入等待狀態。(如果不能及時相應,可能丟失)
2、計數信號量
使用范圍:被控制方不到保證下一次信號到達之前處理完本次控制發出的信號,但在總體上能保證可以相應所有的信號。
3、事件標組
其可以實現多個任務(包括ISR)協同控制一個任務。當相關任務(包括ISR)發出自己的信號后,預定的邏輯運算結果有效,就會觸發被控制的任務。
4、消息郵箱
與二值信號量類似,不同在于可以存放一條信息,發送給任務。
5、消息隊列
已計數信號量類似,不同在于可以存放多條信息,發送給任務
1、ISR與任務之間的同步
2、兩個任務之間的單向同步
被控制方與控制方的優先級高低對任務同步效果有影響
3、兩個任務之間的雙向同步
概念:生產者與消費者相互制約,生產者通過“提供消息”來同步消費者。消費者通過“回復消息”來同步生產者,即是生產者必須得到消費者的回復之后才能進行下一步生產。
該同步方式適用于生產者是系統內部任務,不適用于生產者為外部物理世界生產者(如數據采集)
4、兩個以上任務同步一個任務采用"事件標志組"可實現。
6、多任務同步
該方式可以將若干相關任務的運行頻度保持一致,運行次數等于運行速度最低的任務的執行次數。行為同步編程時要注意任務同步時序以及清除標志位的處理!建議在最后一個到達同步點的任務中先清除標志位,再分發信號給各個任務。
1、使用延時函數控制采樣周期(采樣周期比系統節拍長的多),可以一個關聯任務配合完成。
2、使用中斷控制采樣周期(采樣周期與系統節拍在同一個數量級上)。
3、使用節拍鉤子函數采樣(采樣周期與系統節拍相同,函數應可能間接,不能調用任何可能使自己掛起的函數)。
4、快速定時中斷進行采樣,由于采樣頻率的提高,關聯任務不能及時處理數據,可采用連續定時中斷采樣,然后集中處理的機制。
5、被動采樣,無周期性。
單次執行任務:
1、采用創建任務的方式來啟動任務
2、適合采用“創建任務”方式的任務,通常是孤立任務,不和其它任務通訊,只使用共享資源
3、采用“創建任務”方式有一定的局限性。如共享資源未釋放、關聯任務(或是ISR)的信息處理不當,可能會被掛機
周期性任務
事件觸發執行任務
中斷關聯性:
與ISR有關的任務應安排盡可能高的優先級,以免信號丟失
緊迫性
關鍵性
頻繁性:
周期任務執行越頻繁,則周期越短,允許耽誤的時間也越短,故應該安排較高的優先級,以保障執行
快捷性:
在前面幾項條件相近時,越快捷(耗時少)的任務應安排較高優先級,以使其他任務的就緒時間延時減少
傳遞性:
信息傳遞的上家任務優先級高于下游任務的優先級。
與操作系統有關的數據結構
與操作系統無關的數據結構:
1、當生產與消費的的都是同一任務,數據結構應為私有資源,如局部變量
2、當生產者與消費者不是同一任務,數據結構為共享資源
公共函數調用:
1、互斥調用
2、可重入設計(可重入函數概念)
完整的pdf格式文檔51黑下載地址:
UCOS II 知識整理 --粗整.pdf
(2.34 MB, 下載次數: 264)
2018-9-13 10:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|