1 在内核中配置I2C 驱动
Linux-2.6.32.2 对S2C2440 的I2C 接口提供了完善的驱动,因此我们只需在内核中配置一下即可使用。
在内核源代码目录执行:make menuconfig,进入内核配置主菜单,依次选择进入如下子菜单:
Device Drivers --->
<*> I2C support --->
I2C Hardware Bus support --->
如图,我们看到这里已经选择好了“<*> S3C2410 I2C Driver”,这里的S3C2410 也可以适用于S3C2440,因为它们的I2C 端口及寄存器定义都是完全相同的。
以上配置所对应的驱动源代码为:linux-2.6.32.2/drivers/i2c/busses/i2c-s3c2410.c
2 测试I2C-EEPROM
Mini2440 为了方便用户测试,基于I2C 总线挂接了一个EEPROM 芯片,它是AT24C08,通过写入和读取该芯片,我们就可以测试I2C 总线驱动了。在内核根目录下执行:make zImage,把生成的新内核烧写到开发板中,依然使用友善之臂提供的root_qtopoia,因为里面已经包含了I2C-EEPROM测试程序
在命令行种输入:i2c –w 可以向板子的24C08 器件中写入数据(0x00-0xff)
在命令行中输入:i2c –r 可以从板子的24C08 器件中读出输出