私のシステムは7つのタスクで構成されています。次のようにシステムを調べるために、デモRTPを作成しました。
int main()
{
taskSpawn("/task1" , 107 , VX_NO_STACK_FILL , 2000 , (FUNCPTR)task1, 0,0,0,0,0,0,0,0,0,0);
taskSpawn("/task2" , 106 , VX_NO_STACK_FILL , 2000 , (FUNCPTR)task2, 0,0,0,0,0,0,0,0,0,0);
taskSpawn("/task3" , 105 , VX_NO_STACK_FILL , 2000 , (FUNCPTR)task3, 0,0,0,0,0,0,0,0,0,0);
taskSpawn("/task4" , 104 , VX_NO_STACK_FILL , 2000 , (FUNCPTR)task4, 0,0,0,0,0,0,0,0,0,0);
taskSpawn("/task5" , 105 , VX_NO_STACK_FILL , 2000 , (FUNCPTR)task5, 0,0,0,0,0,0,0,0,0,0);
taskSpawn("/task6" , 106 , VX_NO_STACK_FILL , 2000 , (FUNCPTR)task6, 0,0,0,0,0,0,0,0,0,0);
taskSpawn("/task7" , 101 , VX_NO_STACK_FILL , 2000 , (FUNCPTR)task7, 0,0,0,0,0,0,0,0,0,0);
taskExit(OK);
}
void task1() { taskDelay(7); }
void task2() { taskDelay(13); }
void task3() { taskDelay(313); }
void task4() { taskDelay(19); }
void task5() { taskDelay(188); }
void task6() { taskDelay(10); }
void task7() { taskDelay(10); }
RTPを実行し、パフォーマンスプロファイラーを接続しました。パフォーマンスプロファイラーは、各タスクのCPU使用率を教えてくれました。私がチェックしたいのは、各タスクが時間どおりに実行されることです。たとえば、task1が7 * 16 = 112ミリ秒ごとに実行されることを確認したいです(私のシステムクロックレートは60HZで、スケジューラーは16ミリ秒ごとに呼び出されます)
質問:1。プロファイラーにこれが発生することを確認する方法はありますか?2.そうでない場合、これをどのように確認できますか?
ありがとう。