VxWorks下aux clock的使用示例:利用辅助时钟进行对某些函数运行时间进行精确计时。
首先需要在VxWorks映像中包含辅助时钟,包含组件hardware->peripherals->clocks->AUX clock,并将参数 AUX_CLK_RATE_MAX 改大点,默认只有5000的。
然后在程序中的调用,比如要记录某个函数的执行时间,函数假设为为test(),示例如下:
被调用的函数:
int g_aux_clock_tick=0; int myISR(void) { g_aux_clock_tick++; }
进行调用操作:
test(void) { sysAuxClkConnect((FUNCPTR)myISR, 0); sysAuxClkRateSet(100000); // 10us一次 sysAuxClkEnable(); test(); // 要计时的程序 sysAuxClkDisable(); // 然后查看g_aux_clock_tick的计数值是多少就知道了 }