我想知道是否有可能获得用于TickCounter中断的计数器的值。
目的:
我想知道当前的Tick和该寄存器的值。
这样我就可以对此进行评估。
例如,
tick是12,寄存器是1526.所以我可以实现一个使用Tick计数器(基本1ms)和寄存器的虚拟时钟,以便我有一个更精确的时钟。
编辑:
我找到了这个实现
> #ifndef CERT /*******************************************************************************
> *
> * tickGet - get the value of the kernel's tick counter
> *
> * This routine returns the current value of the tick counter.
> * This value is set to zero at startup, incremented by tickAnnounce(),
> * and can be changed using tickSet().
> *
> * RETURNS: The most recent tickSet() value, plus all tickAnnounce() calls since.
> *
> * SEE ALSO: tickSet(), tickAnnounce()
> *
> * INTERNAL
> * There should be no need to lock interrupts on this one; the compiler should
> * only generate a read from one half of the UINT64 which means that the read
> * can never be interrupted.
> */
>
> ULONG tickGet (void)
> {
> return (ULONG) (vxAbsTicks & 0xFFFFFFFFull);
> }
> #endif /* !CERT */
但我无法访问vxAbsTicks
值
答案 0 :(得分:1)
简单而正确的答案是调用tickGet()。