资料下载和参考
要下载相关资料,无法通过浏览器直接访问,必须使用git工具进行下载:
视频观看可以访问百问网驱动大全。
编写设备驱动之i2c_client的参考资料包括:
- Linux内核文档:Documentationi2cinstantiating-devices.rst 和 Documentationi2cwriting-clients.rst
- Linux内核驱动程序示例:drivers/eeprom/at24.c
- 本节代码可在GIT仓库中找到:
- IMX6ULLsource 4_I2C 3_ap3216c_ok
- STM32MP157sourceA7 4_I2C 3_ap3216c_ok
I2C总线-设备-驱动模型
步骤
- 编译i2c_driver
- 编写测试程序
- 多种方法生成i2c_client并测试
4.1 在用户态生成示例:
// 在I2C BUS0下创建i2c_client # echo ap3216c 0x1e > /sys/bus/i2c/devices/i2c-0/new_device <p>// 删除i2c_client</p><h1>echo 0x1e > /sys/bus/i2c/devices/i2c-0/delete_device
4.2 编写代码
使用以下函数:
- i2c_new_device
- i2c_new_probed_device
- i2c_register_board_info
注意:内核没有EXPORT_SYMBOL(i2c_register_board_info),使用这个函数的驱动必须编进内核里去。
4.3 使用设备树生成
在某个I2C控制器的节点下,添加如下代码:
ap3216c@1e {</h1><pre class="brush:php;toolbar:false">compatible = "lite-on,ap3216c"; reg = <0x1e>;
};
平台测试
-
STM32MP157
-
IMX6ULL4.4
上机测试以下命令在开发板中执行。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END