Ответ: Года три назад прикручивал юкос вью на мсп. Насколько помню по идеологии системы - OSView_TimeGetCycles()вызвается в шедулере и фиксирует в INT32U время начала работы задачи и окончания. А далее статистика за определенное время и вывод во вьювер.
/* ********************************************************************************************************* * Tick Hook * * This routine is called by uC/OS-II's OSTimeTickHook(). ********************************************************************************************************* */ static INT16U prev_cnt; void OSView_TickHook (void){ OSView_CyclesCtr += ((INT32U)CPU_CLK_FREQ / (INT32U)OS_TICKS_PER_SEC); prev_cnt = TAR; } /* ********************************************************************************************************* * Get time [cycles] * * This routine is required for task-info via uC/OS-View. * It returns the system time in clock cycles. ********************************************************************************************************* */ INT32U OSView_TimeGetCycles (void) { INT16U t_cnt; // OS_ENTER_CRITICAL(); t_cnt = TAR; // OS_EXIT_CRITICAL(); return (OSView_CyclesCtr + (INT32U)(t_cnt - prev_cnt)); }