2017-12-19 33 views
-1

私はLinkiate Smart 7688デバイス用にMediatekによって開発中です。私は、少なくとも10msの分解能(好ましくは1ms)が必要なユーザ空間アプリケーションで、いくつかの計時を行う必要があります。LinkITのミリ秒の解像度タイマ7688

私が試したすべてのシステムは、1秒の解像度でのみ値を返します。 clock_gettime(すべての異なるクロックを試しました)、サブ秒の解像度を提供するgettimeofdayはありません。

ターゲットにdmesgを実行すると、カーネルが1秒以下の解像度でタイムスタンプを取得していることがわかります。したがって、クロックソースは2番目の解像度で使用できると判断します。 (私はこれが事実でない場合は非常に高く評価されるでしょう:))

Linkit Smart 7688デバイスで秒未満の解像度でタイムスタンプを取得するにはどうすればよいですか?

おそらく、ユーザー空間で使用できる正しいクロックソースを選択しているカーネル構成が不足している可能性がありますか?私は1つを見つけることができませんでした。

+0

あなたはこのサイトのドリルを知っている必要があります:問題を示して、あなたのコードを示しています。 – sawdust

答えて

0

はgettimeofdayによって返さ秒を使用していないだけでなく、マイクロ秒

gettimeofday(&t0, 0); 
/* ... */ 
gettimeofday(&t1, 0); 
long elapsed = (t1.tv_sec-t0.tv_sec)*1000000 + t1.tv_usec-t0.tv_usec; 
+0

返される 'struct timeval.tv_usec'は、このプラットフォームでは常にゼロです。 –

関連する問題