sysFSでEEPROMの特定のアドレスを読み書きする方法

sysFSでEEPROMの特定のアドレスを読み書きする方法

I2Cバスには24CS02 EEPROMがあります。私はそれを正常に読み込み、EEPROMの先頭(例:/sys/bus/i2c/devices/1-0050/eeprom)に書き込むことができます。特定のアドレスを読み書きできるかどうかを知りたいです。 EEPROM全体を読み書きしたい部分を上書きしてから、全体を書き換えるよりも効率的な方法があることを願っています。 sysFSでこれを達成できますか?

ベストアンサー1

はい、ddを使用するか、独自のプログラムを作成し、ファイル内の検索機能を使用して書きたいオフセットに移動できます。たとえば、オフセット2048からinput.binの64バイトを書き込むには、次のようにします。

dd if=input.bin of=/sys/bus/i2c/devices/1-0050/eeprom bs=1 count=64 skip=2048 seek=2048

Skipは入力ファイルの開始オフセット、検索は出力ファイル(eeprom)の開始オフセットです。 Count は書き込むバイト数です。

おすすめ記事