組み込みLinux:NTPなしで時間を設定する

組み込みLinux:NTPなしで時間を設定する

uart経由で衛星接続を使用して他のデバイスから日付を抽出するyoctoで構築された組み込みLinuxデバイスで作業します。この日付にアクセスすると、さまざまなデーモンが実行され、マルチスレッドアプリケーションが完全に初期化されました。

私が読んだ内容によると時間()または日付/時刻設定()タイマーに依存するすべてを破ることができます。そうだと思います。std::this_thread::sleep_for()含まれますか?

この時点でシステム時間を設定する安全な方法はありますか?または、インターネットにアクセスできないほとんどの組み込みLinuxデバイスはこの問題をどのように解決しますか?

編集:RTCがありますが、私たちが使用しているhwclock実装では、少なくともhwclock APIを介してRTCに直接書き込むことはできません。ここにいる- 助ける:

BusyBox v1.24.1 (2018-11-14 12:40:41 PST) multi-call binary. 
Usage: hwclock [-r|--show] [-s|--hctosys] [-w|--systohc] [-t|--systz] [-l|--localtime] [-u|--utc] [-f|--rtc FILE]

しかも協会hwclockソースに。

ベストアンサー1

hwclockどちらを使用できますか?しなければならないすべての組み込みLinuxディストリビューションに組み込まれています。

$hwclockはい - コマンド名からわかるように -ハードウェア使用されているオペレーティングシステムとは無関係の時計です。今日では、マザーボードに内蔵されている低電力発振器を使用して、機械の電源が切れていても時間の経過を追跡します(長時間持続する可能性があるMBバッテリーを使用)。

そうでhwclockない場合は、喜んで議論したい他の選択肢がありますが、hwclock可能であればgotoコマンドを使用することをお勧めします。

おすすめ記事