警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

Howto : リアルタイムクロックへの時刻の保存方法

対象製品: Armadillo-IoT G1/G2Armadillo-840Armadillo-810Armadillo-500 FXArmadillo-500Armadillo-460Armadillo-440Armadillo-420Armadillo-300Armadillo-9Armadillo-240Armadillo-230Armadillo-220Armadillo(HT1070)

バックアップ機能付きリアルタイムクロック(RTC)搭載のArmadilloで、電源OFF時にも時刻を保持する方法を紹介します。

1.Linuxシステムにおける時間の管理

Linuxシステムでは時間は二つの時計、システムクロックとハードウェアクロックで管理されています。

システムクロックはLinuxカーネルが管理している時計で、CPUのタイマー割り込みによって駆動されます。システムクロックは、UTC(Universal Time, Coordinated、協定世界時) 1970年1月1日 00時00分00秒(紀元、エポック)からの経過秒数で管理されています。Linuxシステムでは、システムクロックがすべての動作の基準となります。システムクロックを参照、設定するには、dateコマンドを使用します。


[armadillo ~]# date
Fri Dec 19 17:36:34 JST 2014

ハードウェアクロックは、CPUとは独立したRTCによって管理される時計です。システムに電源が供給されていない間も、バッテリや外部電源などで動作しつづけます。Linuxシステムは、起動時にハードウェアクロックを参照し、システムクロックを設定します。RTCが保持している時刻を参照したり、RTCに時刻を設定するにはhwclockコマンドを使用します。


[armadillo ~]# hwclock
Fri Dec 19 17:36:36 2014  -0.173615 seconds

2.システムクロックの設定

ハードウェアクロックを設定する前に、まず、システムクロックを設定します。システムクロックは、dateコマンドを使い手動で設定する方法の他に、ntpclient1やntpdateコマンド2を使用してNTPサーバーから時刻を取得して設定することもできます。

dateコマンドを用いたシステムクロックの設定


[armadillo ~]# date -s [日時]

2014年11月22日12時34分56秒に設定する例を次に示します。


[armadillo ~]# date -s 112212342014.56
Armadilloでは、BusyBoxのdateコマンドを利用します。多くのPC Linuxに標準インストールされているCoreutilsのdateコマンドとは、指定可能な時刻のフォーマットが異なる場合があります。

ntpclientを用いたシステムクロックの設定


[armadillo ~]# ntpclient -h [ntpサーバのIPアドレス] -s

独立行政法人情報通信研究機構(NICT)の公開NTPサービスを利用する例を次に示します。


[armadillo ~]# ntpclient -h ntp.nict.jp -s

ntpdateを用いたシステムクロックの設定


[armadillo ~]# ntpdate [ntpサーバのIPアドレス]

独立行政法人情報通信研究機構(NICT)の公開NTPサービスを利用する例を次に示します。


[armadillo ~]# ntpdate ntp.nict.jp

3.ハードウェアクロックの設定

hwclockコマンドを使用すると、システムクロックをハードウェアクロック(RTC)に反映させることができます。


[armadillo ~]# hwclock --systohc --utc

  1. Armadillo-400シリーズでは標準インストールされています。 

  2. ntpdateは、デフォルトでは入っていません。menuconfigなどで選択してください。