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的计数值是多少就知道了
}