[i.MX] mx6q i2c 问题请教

[复制链接]
 楼主| yacht06 发表于 2016-4-1 15:33 | 显示全部楼层 |阅读模式
    最近在调eeprom,使用的是mx6q,linux内核版本为3.0.35。eeprom使用的是24c64。我在系统驱动中找到了有at24.c文件,看代码是支持24c64的。于是在i2c_board_info mxc_i2c1_board_info 中增加了I2C_BOARD_INFO("24c64", 0x50),在menuconfig中选中了at24驱动,编译下载后,在/sys/bus/i2c/device/1-0050/中也找到了相应的eeprom二进制文件。但是在使用cat eeprom命令时,系统报错:Connection time out,不知道是什么问题。接下来我在系统启动的打印信息中找到以下内容:at24 1-0050: 8192 byte 24c64 EEPROM, writable, 1 bytes/write ,此部分是at24驱动中,probe函数中代码执行所显示,其中1byte为at24->write_max 变量,我想问下各位, 为很么是1 bytes呢。接下来我在probe函数最后增加了 at24_bin_write,at24_bin_read,然后打印write函数中buf1的内容,和read到buf2的数据,发现buf1打印结果正常,buf2为空,说明数据没有读出。接下来,我在测试文件中使用write函数想写数据进去,返回值为-1,没有写成功。所以我想问一下是各位,我整个过程有什么问题,为什么此部分工作不正常呢。
mini1986 发表于 2016-5-4 09:14 | 显示全部楼层
用i2cdetect命令,看看i2c上能不能detect到eeprom......这个东西资料多,应该不难......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

15

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部