我可以使用 i2ctransfer 访问(红色/写入)eeprom,但我无法在用户空间中实例化 eeprom 文件

问题描述 投票:0回答:1

我有 2 个 Atmel EEPROM - 24c128 - 地址为 0x0A 和 0x0B。

sudo i2cdetect -y -r -a 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- 02 03 -- -- -- -- -- -- 0a 0b -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- UU UU -- -- 
40: UU UU UU UU -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- UU UU -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

我可以使用 i2c 命令读/写:

$ sudo i2ctransfer -y -f 1 w4@0x0a 0 0 123 22 $ sudo i2ctransfer -y -f 1 w2@0x0a 0 0 r10 0x7b 0x16 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff

我不知道如何将 eeprom 视为一个文件,以便能够使用文件命令打开、查找、写入和读取:

/sys/bus/i2c/devices/i2c-1/1-000a$ ll 总计 0 drwxr-xr-x 3 root root 0 Mar 14 13:51 ./ drwxr-xr-x 15 root root 0 Mar 14 13:51 ../ -r--r--r-- 1 root root 4096 Mar 14 14:56 modalias -r--r--r-- 1 root root 4096 Mar 14 14:56 名称 lrwxrwxrwx 1 root root 0 Mar 14 14:56 of_node -> '../../../../firmware/devicetree/base/i2c@c240000/ub960@3C/link@2/ub953@42/sc9732cam_EEP@ A'/ drwxr-xr-x 2 root root 0 Mar 14 14:56 power/ lrwxrwxrwx 1 root root 0 Mar 14 13:51 子系统 -> ../../../../bus/i2c/ -rw-r--r-- 1 root root 4096 Mar 14 13:51 uevent

dtsi文件中:

 EEP_NODE: EEP_NODE_NAME {
  status = "okay";
  compatible = "24c128","at24";
  address-width = <16>;
  #address-cells = <1>;
  #size-cells = <0>;
  reg = <0x0A>;
  physical-addr = <0x52>;
  pagesize = <64>;
  size = <16384>;
  has-eeprom = "1";  /* Enable EEPROM support */
  node_name_alias = "EEP";

};

我用这篇文章尝试在用户空间实例化eeprom

作为用户: /sys/bus/i2c/devices/i2c-1$ sudo echo 24c128 0xa > new_device -bash: new_device: 权限被拒绝

作为根: root@mechi:/sys/devices/c240000.i2c/i2c-1# sudo echo 24c128 0xa > new_device echo: 写入错误:参数无效

任何想法将不胜感激。 谢谢, 机械

i2c eeprom
1个回答
0
投票

问题是我依赖于

d3_defconfig
文件。我用过:

sudo make linux-menuconfig 

并在

Device Drivers/Misc./EEPROM
中选择
i2c
选项。现在可以了。

© www.soinside.com 2019 - 2024. All rights reserved.