最近调试codec的驱动调试郁闷了,一次又一次的重新编译内核,一次又一次的烧写。于是想能不能简单的修改寄存器参数呢?经过google后果然有,那就是i2c-tool ,这一系列工具。
下载
http://dl.lm-sensors.org/i2c-tools/releases/
编译
1.解压到i2c tool目录。
2.进入i2c tool,修改Makefile CC := arm-none-linux-gnueabi-gcc
3.make
4.进入tools目录,copy出 “i2cdetect” “i2cdump” “i2cget” “i2cset” 四个文件。
使用
i2cdetect – 枚举I2C bus和上面所有的设备
i2cdump – 打印设备(如 codec,camera)上所有register的值
i2cget – 读设备某个 register的值
i2cset – 设置某个register的值
其他技巧
如果你用i2cset 命令去设置,已经注册的设备(i2cdetect 中显示U的设备)。会出现,总线被占用的错误。 加上-f 的参数,就可强制设置。
-y 是询问时自动选y。例如下面的命令:
./i2cset -f -y 1 0x1a 0x50 1f