主题 : 求助linux下i2c驱动:发送超过32bytes数据块的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 24453
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
综合积分: 36 分
注册时间: 2010-07-08
最后登录: 2018-06-13
楼主  发表于: 2011-08-12 10:54

 求助linux下i2c驱动:发送超过32bytes数据块的问题

在 i2c.h 里面有一个
#define I2C_SMBUS_BLOCK_MAX 32
修改为64后,可以发送超过32bytes数据块,但是一直报错 “Segmentation fault”。

已经想尽了办法修改,就是不可以,超过33字节就报错,33字节后的数据也是错的。想想这个I2C驱动不至于这么弱智,32byte的限制很莫明其妙(太限制速度了),现在128字节的buffer器件都有了。
那位大哥做过,请不吝赐教!
级别: 新手上路
UID: 24453
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
综合积分: 36 分
注册时间: 2010-07-08
最后登录: 2018-06-13
1楼  发表于: 2011-08-12 16:56
找到问题的根源了,linux kernel里面的i2c.h改完后,还要在arm-gcc里面找到另外一个i2c.h的文件做相同的更改。因为驱动和编译器是两个地方,各管各的

找遍网络都找不到答案,还是要通过Debug发现问题靠谱