カスタム組み込みシステムでクロックドリフトの原因を見つける方法は?

カスタム組み込みシステムでクロックドリフトの原因を見つける方法は?

我々は、SAM9G45プロセッサで3.2Angstromを実行するカスタムハードウェアを持っています。すべてが正常です。最近、SAM9G25プロセッサを使用して同様のハードウェアを設計しました。 2.6カーネルがSAM9G25で正常に動作していることがわかりましたが、一部のワイヤレスドライバを利用するには、そのプラットフォームに3.2カーネルを移植する必要がありました。ポートを完了しましたが、時計が信頼できないという事実を見つけました。約20分間は正常に実行されます。その後、時間(「日付」と報告されています)が数時間または数日ほど速くなります。 2.6カーネルはまだうまく機能しているので、これが正しく移植されていない問題だと思います。我々はすべてを確認したが、これまで運がなかった。次はどこを見るべきかわかりません。

最終回答:Atmelはtcb_clksrc.cファイルから2.6カーネルのパッチを提供します。 3.2カーネルに移植したときにこれを逃しました。あなたの洞察力に感謝します!

ベストアンサー1

カーネルオプションclocksource=jiffiesまたはnohpet

仮想マシンで時間の不一致が観察されるSLES11 SP2(カーネル3.0を使用)に関連する公開ケースがあります。

これはclocksource=jiffies状況をさらに悪化させた。しかし、役に立つかもしれません。

現在のサポートは高精度イベントタイマーに焦点を当てています(しかし、あなたの組み込みシステムにそのようなデバイスがあるかどうか疑問です)。

おすすめ記事