有很多第三方的库对vxWorks不支持高精度的时钟描述应该是很多年前的说法了,比如你的文档提到的x86的HPET这个在vxWorks6.8.x , 6.9.x , 7等主流版本上早已经支持,对QorIQ的目前也支持全面了的,只要是片上硬件有的(目前不论是什么架构的CPU/chipset),vxWorks都在BSP和driver中进行了支持。
step1:首先需要在kernel中定义INCLUDE_AUX_CLK
step2:设置AUX的normalpinlv以及最大和最小频率
#define AUX_CLK_RATE_MIN 1
#define AUX_CLK_RATE_MAX 50000
#define AUX_CLK_RATE 20000
step 3:注册AUX CLK的ISR
step4 :Enable AUX CLK
step5:使用vxbAuxClkShow和vxbSysClkShow来检查有没有配置正确就可以了。
使用例子:
#include <vxbTimerLib.h>
UINT32 l_aux_clk_isr_flag=0;
void l_aux_clk_isr(void)
{
l_aux_clk_isr_flag++;
logMsg("l_aux_clk_isr\n",1,2,3,4,5,6);
}
void usrAppInit (void)
{
#ifdef USER_APPL_INIT
USER_APPL_INIT; /* for backwards compatibility */
#endif
/* add application specific code here */
vxbAuxClkConnect(l_aux_clk_isr,0);
printf("vxbAuxClkConnect,setuped\n");
vxbAuxClkEnable();
}