我已經在實時系統上使用FreeRTOS來演示RTOS的各種功能。我現在面臨的問題如下:如何使用vApplicationTickHook()函數來測量freeRTOS中的任務執行時間?
- 在主函數中創建了兩個任務(A和B),並啓動了實時調度程序。
- 任務B的優先級低於任務A.任務B需要每n毫秒進行一次調度,但由於任務A的優先級高於B的優先級,因此B不會每n毫秒調度一次。
- 因此,我們需要編寫一個新的函數,它接受A和B的任務句柄,並測量任務B的執行時間。
- 如果B的執行時間大於n ms,則會增加優先級。
我瞭解功能的功能,以提高優先級,但無法理解如何衡量任務執行時間。該問題特別要求我們使用vApplicationTickHook(void)函數來執行此操作。任何暗示將不勝感激。我也在該課程的論壇上發帖,但沒有得到任何答覆,因此發佈在這裏。
有一個示例已經在FreeRTOS文件IIRC。 –
嗨,我經歷了FreeRTOS文檔,但無法弄清楚。謝謝 – dwd
難道你不是這個意思嗎?如果任務A(較高優先級)所花費的時間大於'n',則需要增加A的優先級? –