0

TickCounter 割り込みに使用されるカウンターの値を取得する可能性があるかどうかを知りたいです。

目的:

現在のティックとこのレジスタの値を知りたいです。

これを評価できるように。

例えば、

ティックは 12 で、レジスタは 1526 です。したがって、ティック カウンタ (ベース 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値にアクセスできません

4

1 に答える 1

1

シンプルで正しい答えは、tickGet() を呼び出すことです。

于 2012-12-20T12:04:48.350 に答える