我在i2c线路上将一个硬件连接到一个嵌入式linux板上。我可以在/dev/i2c-1上看到这个设备
filename = "/dev/i2c-1"
filehandle = open(filename,O_RDWR);
write(filehandle, <buffer to be written>, <number of Bytes>)
(similiarly for read = read(filehandle, <buffer to be read in an array>, <number of
在我的主板上,我有一个存储配置信息的I2C EEPROM。UBoot使用如下所示的read_eeprom函数读取它。我还想从Linux内核内部访问此信息,以便正确显示/proc/cpuinfo输出。但是,我在Linux内核中找不到与i2c_probe和i2c_read等效的功能。如何从内核内部执行以下函数?我使用的是Linux 3.2。
static int read_eeprom(void)
{
/* Check if baseboard eeprom is available */
if (i2c_probe(CONFIG_SYS_I2C_EEPROM_AD
我正在将I2C驱动程序移植到Linux-4上。该设备同时为不同功能提供多个I2C地址。
例如:
address 0xAA is for access of SPI flash.
address 0xA0 is for access of EEPROM.
address 0x60 is for normal access (control purpose).
是否可以在单个I2C设备驱动程序中支持对不同I2C地址的访问?
感谢您的帮助,谢谢
我知道如何为I2C编写SMbus适配器驱动程序,但仍然不知道这个驱动程序是否足以与linux机器或主板对话或让我的i2c传感器与linux机器或主板一起工作,以防我特别想将我的驱动程序插入到内核中。
或者换句话说,我有一些陀螺仪要与ARM9接口,那么就编写I2C驱动程序而言,是否还有很多东西需要学习,或者足够好地使用前面提到的above....Help me out,请在这个问题上绊倒……
很抱歉对我的问题做了详细的描述:-)
在我们新的基于PC板的设计中,我被赋予了一项任务来执行简单的读写I2C设备。该板将使用Portwell的Q7微型PC,使用英特尔隧道溪(ATOM)处理器(本质上是一个x86处理器)和一个EG20T IOH芯片。
I2C从设备是TI AIC3254音频编解码器。操作系统为Ubuntu10.04LTS 32位。
uname -a
Linux Torchwood 2.6.32-41-generic #88-Ubuntu SMP Thu Mar 29 13:08:43 UTC 2012 i686 GNU/Linux
这个设备的PC部分本质上是一个通用的PC。
PC