08/02/11 11:29:36
シリアルEEPROMなら、だいたいバンクみたいなのがあるよね。
1バイト毎にも書き換えられるけど、バンク内のたとえば16バイトなら一気に書き換えられるとかさ
I2Cインターフェースのなら、だいたい統一されてる
で、結局やりたいのは書き換え回数が1万回のもので、
1時間に一回書き換えたら1年で寿命来るけど128箇所に分散したら64万回に出来て
実用的に書き換え回数の制限無しに出来るぞ
っていう皆がやってる事だろ?
方法としては、バンクの整数倍のセクター作って
1、順にセクターを使って書いては一つ前のセクターを消す
2、連番フィールドを持たせる(連番の代わりに時計情報でもOK)
の2つくらいしかない。
1の場合は起動時に頭からスキャンして1つ見つけたら検索終わり
2の場合は全部をスキャンして最大の連番と最小の連番を探す
最大-最小がフィールド数より大きいなら ラップアラウンドしてるとして最小を採用する