(一) 使用sysfs 的方式操作EEPROM
Load at24 driver (eeprom) 要配合 device tree 的操作.
step 1:
# compile dts to dtbo
>> dtc -@ -I dts -O dtb -o at24.dtbo at24.dts
# copy to /boot/overlays
>> sudo cp at24.dtbo /boot/overlays
# modify /boot/config.txt and add this line
# reboot pi
>> sudo reboot
step 2: sudo modprobe at24 (載入Kernel 原生 Driver )
step3: 正常情況下會產生 /sys/bus/i2c/devices/1-0050/e eprom
你可以讀寫此eeprom檔案, 例如:
sudo dd if=123.bmp of=/sys/bus/i2c/devices/1- 0050/eeprom
sudo dd of=~/dump.bin if=/sys/bus/i2c/devices/1- 0050/eeprom
=====================================================
(二) 使用字元裝置的方式操作EEPROM
掛載 i2c-dev 模組後, 會生成 /dev/i2c-1 檔案, 可利用i2c tools 工具進行讀寫
---------
at24.dts
// Definitions for I2C EEPROM (24lcxx)
// www.ittraining.com.tw
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2708";
fragment@0 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>; // I2C address of the AT24C02
pagesize = <8>;
size = <256>;
};
};
};
};