资料下载
由于无法通过浏览器直接访问Coding,您需要使用Git工具进行下载:
git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git
视频观看请访问百问网,查看驱动大全。
完善虚拟的I2C_Adapter驱动并模拟EEPROM的参考资料包括:
Linux内核文档:Linux-4.9.88\Documentation\devicetree\bindings\i2c\i2c-gpio.txt 和 Linux-5.4\Documentation\devicetree\bindings\i2c\i2c-gpio.yamlLinux内核驱动程序:使用GPIO模拟I2C Linux-4.9.88\drivers\i2c\busses\i2c-gpio.c 和 Linux-5.4\drivers\i2c\busses\i2c-gpio.cLinux内核真正的I2C控制器驱动程序IMX6ULL:Linux-4.9.88\drivers\i2c\busses\i2c-imx.cSTM32MP157:Linux-5.4\drivers\i2c\busses\i2c-stm32f7.c本节视频的代码在GIT仓库中IMX6ULL:doc_and_source_for_drivers\IMX6ULL\source\04_I2C\06_i2c_adapter_virtual_okSTM32MP157:doc_and_source_for_drivers\STM32MP157\source\A7\04_I2C\06_i2c_adapter_virtual_ok
实现master_xfer函数:在虚拟的I2C_Adapter驱动程序中,只要实现了master_xfer函数,这个I2C Adapter就可以使用。在master_xfer函数中,我们模拟一个EEPROM,具体思路如下:
阿里云-虚拟数字人
阿里云-虚拟数字人是什么? …
2 查看详情
分配一个512字节的buffer,表示EEPROM。对于slave address为0x50的i2c_msg,解析并处理:对于写操作:将i2c_msg的数据写入buffer。对于读操作:从buffer中把数据写入i2c_msg。对于slave address为其他值的i2c_msg,返回错误。
编程看视频:请观看相关视频进行学习。
上机实验:
3.1 设置工具链:根据您的开发环境设置合适的工具链。3.2 编译、替换设备树:在设备树的根节点下,添加如下代码:
i2c-bus-virtual { compatible = "100ask,i2c-bus-virtual";};
3.3 编译、安装驱动程序:按照视频指导编译并安装驱动程序。3.4 使用i2c-tools测试:使用i2c-tools工具对驱动进行测试。

以上就是Linux系统驱动之完善虚拟的I2C_Adapter驱动并模拟EEPROM的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/478227.html
微信扫一扫
支付宝扫一扫