[英]Linux i2c eeprom /sys/bus/i2c/…/eeprom file is read only
谢谢。
io
PD:我尝试将eeprom文件chmod更改为rwx,但是无论如何,我都会收到尝试写入eeprom的错误消息:“ bash:eeprom:权限被拒绝”。
看来eeprom Linux驱动程序仅实现driver / misc / eeprom / eeprom.c读取sysfs属性:
https://github.com/torvalds/linux/blob/master/drivers/misc/eeprom/eeprom.c#L117
static const struct bin_attribute eeprom_attr = {
.attr = {
.name = "eeprom",
.mode = S_IRUGO,
},
.size = EEPROM_SIZE,
.read = eeprom_read,
};
一个问题是您使用的eeprom.c驱动程序不支持编写eeprom,因为它没有写功能。
考虑改用驱动程序at24.c。 它具有写功能,例如at24_eeprom_write()
实际上,此驱动程序的probe()函数将确定部件是否可写,然后在需要时调用setup函数。 当零件为只读时,写入功能不可用。 它会自动处理此问题。
如下所示,这是Linux内核v3.3的at24.c驱动程序的代码: https ://elixir.bootlin.com/linux/v3.3/source/drivers/misc/eeprom/at24.c
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.