|
CAT709, CAT760 シリアルEEPROM †解説 †カーネル linux-2.6.15_20070227.tgz 以降にて、CAT709,CAT760 オンボード シリアルEEPROMの リード/ライト をサポートしました。本ドライバを使用することにより CAT709,CAT760 内蔵 シリアルEEPROM の読み書きが可能になります。 本EEPROMドライバは次の目的として使用できます。
CAT709,CAT760には 合計 512バイトの容量のシリアルEEPROMを実装しています。 EEPROMは0〜3の4つの領域に別れていて、それぞれ下の表のように使用しています。
マイナー番号3の MACアドレス部 は書き込みが不可になっています。 本ドライバはメジャー番号246、マイナー番号0〜3のキャラクタ型ドライバです。 コンパイル&インストール方法 †コンパイル †linux-2.6.15-cat_20070227.tgz 以降の日付のカーネルを展開し、コンパイルして zImage を書き換えることで対応します。 例) 開発機にて $ tar xzvf linux-2.6.15-cat_20070224.tgz $ cd linux-2.6.15-cat $ make cat709_defconfig もしくは make cat760_defconfig $ make arch/sh/boot/zImage がカーネルになります。 インストール方法 †zImage をコンパクトフラッシュメモリに保存し、CATBOOT上で以下のようにタイプすることでカーネルのアップデートが出来ます。 CAT709, CAT760 CATBOOTにて >> admin passwd: パスワードについては「組み込みLinuxガイド」を参照ください #> cp cf0:zImage rom:kernel CAT709, CAT760上にデバイスファイルを作る †EEPROMを読み書きするためのデバイスファイルを作ります。以下の作業はCAT709, CAT760で一度だけ実行します。 CAT709, CAT760にて # rommode rw # mkdev /dev/eeprom0 c 246 0 # mkdev /dev/eeprom1 c 246 1 # mkdev /dev/eeprom2 c 246 2 # mkdev /dev/eeprom3 c 246 3 # rommode ro EEPROM領域の使い方 †EEPROMデータの読み出し †EEPROM0のデータを data.bin にコピーする CAT709, CAT760にて # cp /dev/eeprom0 data.bin その他のアクセス例 CAT709, CAT760にて # hex /dev/eeprom0 EEPROM0領域のの16進ダンプ # cat /dev/eeprom0 EEPROM0領域のテキスト表示 EEPROMデータの書き込み †data.bin のデータを EEPROM0にコピーする CAT709, CAT760にて # cp data.bin /dev/eeprom0 その他のアクセス例 CAT709, CAT760にて # echo 1234 > /dev/eeprom0 実践的な使用例 †ユーザ開放 /dev/eeprom0 を活用する †/dev/eeprom0 はユーザに解放された 256 バイトのメモリ空間です。 簡単なデータであれば rommode コマンドを使用して FLASH ROM を一旦 Read Write な状態にせずに /dev/eeprom0 に保存することができます。 書き込み # echo 1234 > /dev/eeprom0 読み出し # cat /dev/eeprom0 ただし、EEPROMの書き換え寿命は10万回です。頻繁に書き換えを行うと書き換え寿命に達しますのでそのような目的には使用できません。(ちなみに1年=52万5千分ですので1分毎に書き換えるような目的には使用できません) CAT709, CAT760のデュプリケート(複製) †CAT709, CAT760 のROMデータを他のCAT709, CAT760にコピーする際、カーネルとrootfsだけではなくて EEPROMのデータもコピーしなければなりません。 CAT709 のCATBOOTの設定を他の CAT709 へパラメータコピーする際の使用例は下 記の通りです。
転送元の CAT709, CAT760で CAT709, CAT760にて # cp /dev/eeprom0 data0.bin # cp /dev/eeprom1 data1.bin # cp /dev/eeprom3 data3.bin 転送先の CAT709, CAT760で CAT709, CAT760にて # cp data0.bin /dev/eeprom0 # cp data1.bin /dev/eeprom1 # cp data3.bin /dev/eeprom3 リンク † |