第9期ThreadX視頻教程:自制個微秒分辨率任務調度實現方案(2023-10-11)

視頻教程彙總帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519


 

說明:

1、一般應用,我們都會將任務RTOS系統時鐘節拍(心跳)設置爲1ms,但如果直接把RTOS的系統時鐘節拍設置爲1us,系統負擔非常大,而且很多RTOS也做不到100MHz主頻下,1us切換一次任務,導致RTOS沒有時間處理應用任務
2、這個機制主要是用來替換大家的程序裏面不支持任務切換的DelayUS微秒延遲的API,讓其也支持釋放CPU權限來支持任務調度, 延遲時間到後,還可以根據自己的優先級情況返回執行。當前將RTOS本身的延遲API,比如tx_thread_sleep替換爲新作的API實現也是沒問題的
3、RTOS的通信組件,信號量,消息隊列,事件標誌等不需要微秒分辨率的延遲,因爲緊急的中斷調用這些通信API,會讓就緒的最高優先級的等待通信任務立即得到執行。
4、這種方式還有有個優勢,可以更好的降低CPU利用率。

視頻教程:

https://www.bilibili.com/video/BV1Yh4y1z7k3/


實現方法:

需要的,做替換,不需要的不用替換。

 

任務信息統計:


配套例子

程序中將任務的延遲和DS18B20的微秒延遲都改成新作的API osDeleyUS實現

鏈接:https://pan.baidu.com/s/1QxnwR5hbAugZ83zldSqyUg  提取碼:7q3i

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章