ucosIII任務管理(三)

2021-10-08 20:14:55 字數 706 閱讀 2680

系統內部任務

系統有5個內部任務,空閒任務、時鐘節拍任務、統計任務、定時任務、中斷服務管理任務,前兩個任務是初始化系統時必須建立的,後三個根據需求建立。

為了產生時鐘節拍,要配置硬體定時器使其產生10-1000hz的頻率之間的中斷;實際上節拍中斷並非由定時器產生,而是由其他週期性時鐘源產生。

當允許中斷後,當時鐘節拍中斷到來之後,就會執行該中斷函式,該中斷函式呼叫了os_timetick(),完成了ucosiii中大部分時鐘節拍處理工作

os_timetick()函式會呼叫ucosiii提供的服務函式給時鐘節拍執行緒傳送訊號,使時鐘節拍執行緒進入就緒態

時鐘節拍執行緒會讓那些延時一結束等待已超時的任務進入就緒態

時鐘節拍列表:

該錶由乙個資料列表組成和乙個計數器構成。oscfg_tickwheel資料報含表項數目,表項數目,不要與時鐘節拍頻率成倍數關係,最好使用素數,這樣是為了讓每個表項等待任務數目分布任務。當時鐘節拍任務接收到時鐘節拍中斷函式傳送過來的訊號量時,ostickctr會加1

每個表項包括三個成員:該表項等待的最大任務數、該表項的任務數目、乙個指標變數

當某執行緒呼叫ostimedly??()或者使用非零超時值呼叫os???pend()函式時,執行緒會被自動加入時鐘節拍列表中

ucosIII任務管理(一)

任務 執行緒和任務其實是一樣的,只是名字不同。任務有點像c函式,但是不一樣。任務一般是死迴圈,而且沒有返回值。在任務當中可呼叫函式。當任務開始執行時,系統會給任務傳遞乙個引數 p arg,這個引數是void型指標。這個指標是乙個通用型指標,可以向任務傳遞變數位址 資料結構 函式入口等等。有了這個指標...

uc os iii學習筆記 任務管理

記了幾篇筆記後發現,基本就是在抄書,而且由於本人繪圖能力有限,也無法貼上圖表去說明,可能導致後來的讀者完全摸不清頭腦,所以再次宣告,本人只是在給自己做知識點筆記,相關圖示和介紹請閱讀書籍 嵌入式實時作業系統us os iii void ostaskcreate os tcb p tcb,cpu ch...

ucosIII 系統任務

系統任務 空閒任務 空閒任務特點 1.空閒任務是ucosiii建立的第乙個任務。2.空閒任務是ucosiii必須建立的。3.空閒任務優先順序總是為os cfg prio mak 1。4.空閒任務中不能呼叫任何可使空閒任務進入等待態的函式!在osinit 中呼叫 os idletaskinit p e...