第11章 RTC/NANDフラッシュメモリモジュール

11.1. フラッシュメモリ用デバイスドライバの組み込み

NANDフラッシュメモリ用のデバイスドライバは、誤認識による起動不具合[8]を防ぐため、デフォルトの状態では組込まれていません。デバイスドライバを組み込むには、カーネルのコンフグレーションで以下のオプションを選択してください。

Device Drivers  ---> 
    Memory Technology Devices (MTD)  ---> 
        NAND Flash Device Drivers  ---> 
            <*> NAND Device Support
            [*] Verify NAND page writes[9]
            <*> Support for Armadillo-220/230/240

11.2. フラッシュメモリの認識

認識された場合は、Linuxブート中に以下のメッセージが表示されます。

NAND device: Manufacturer ID: 0x??, Chip ID: 0x?? (??) [10]

NANDフラッシュメモリのフォーマット方法は以下のとおりです。

[root@armadillo (ttyAM0) ~]# flash_eraseall -j /dev/mtd4

NANDフラッシュメモリのマウント方法は以下のとおりです。以下の例では、/mntへNANDフラッシュメモリをマウントしています。

[root@armadillo (ttyAM0) ~]# mount -t jffs2 /dev/mtdblock4 /mnt

11.3. リアルタイムクロック用デバイスドライバの組み込み

RTC/NANDフラッシュメモリモジュール用のデバイスドライバは、誤認識による起動不具合[8]を防ぐため、デフォルトの状態では組込まれていません。デバイスドライバを組み込むには、カーネルのコンフィグレーションで以下のオプションを選択してください。

Device Drivers  --->
    I2C support  --->
        I2C Hardware Bus support  --->
            [*] External I2C interface for Armadillo-220/230/240
        Other I2C Chip support  --->
            <*> Armadillo-9 Real Time Clock

hwclockコマンドを使用するために、ユーザーランドのコンフィグレーションで以下のオプションを選択してください。

BusyBox  --->
    [*] hwclock

11.4. リアルタイムクロックの認識

リアルタイムクロックへの書き込みは以下のコマンドで行います。例では、2009年1月23日12時34分に時間を設定してリアルタムクロックへ書き込み、時間を表示します。

[root@armadillo (ttyAM0) ~]# date -s 012312342009………時間の設定
[root@armadillo (ttyAM0) ~]# hwclock --systohc --utc……リアルタイムクロックへ書き込み
[root@armadillo (ttyAM0) ~]# hwclock --utc………………時間の表示


[8] http://armadillo.atmark-techno.com/faq/nand-kernel-panic

[9] NANDフラッシュメモリはその構造上、書き込みの際に1から0への変化のみを検査します。しかし局所的な不良などがある際は、デバイスに書き込みが成功した場合であっても実際に読んでみると反転して見えることがあります。本オプションを有効にするとこうした際でもエラーを返すようになり、ファイルシステムレベルでの破損可能性を低減することができます。

[10] Manufacturer ID」および「Chip ID」は、製造ロットやフラッシュメモリの容量により変わります。