====== EEPROM の利用 ======
XG-50 には I2C 接続の 64Kbit EEPROM が搭載されています。アドレスは 0x51 です。\\
アプリケーションの設定などを保存しておく領域として利用することができます。
{{http://rohmfs.rohm.com/en/products/databook/package/3d_image/ic/TSSOP-B8J.jpg|64Kbit EEPROM}}
nsh> i2c dev -b 1 0 7f
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- 45 -- -- -- -- -- -- -- -- -- --
50: -- 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 -- -- -- -- -- -- -- -- --
nsh>
\\
I2C driver (/dev/i2c1) 経由で直接読み書きを行うことも可能((driver を用意していないデバイスは基本この方法を用います))ですが、**mtdblock driver**((driver のソースは ''nuttx/drivers/mtd/at24xx.c'' です))としてマッピングしていますので、
block device として読み書き((''open()'' して ''read()''/''write()''))することができます。
nsh> ls -l /dev
/dev:
cr--r--r-- 0 adc0
crw-rw-rw- 0 console
crw-rw-rw- 0 i2c1 <--- I2C
brw-rw-rw- 0 mtdblock0 <--- mtdblock
crw-rw-rw- 0 null
crw-rw-rw- 0 ptmx
crw-rw-rw- 0 ramlog
cr--r--r-- 0 random
crw-rw-rw- 0 rtc0
crw-rw-rw- 0 timer0
crw-rw-rw- 0 ttyS0
crw-rw-rw- 0 ttyS1
crw-rw-rw- 0 ttyS2
crw-rw-rw- 0 ttyS3
crw-rw-rw- 0 zero
\\