首页 > 运维 > linux运维 > 正文

Linux系统驱动之完善虚拟的I2C_Adapter驱动并模拟EEPROM

看不見的法師
发布: 2025-06-27 12:32:01
原创
599人浏览过

资料下载

由于无法通过浏览器直接访问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.txtLinux-5.4\Documentation\devicetree\bindings\i2c\i2c-gpio.yaml
  • Linux内核驱动程序:使用GPIO模拟I2C Linux-4.9.88\drivers\i2c\busses\i2c-gpio.cLinux-5.4\drivers\i2c\busses\i2c-gpio.c
  • Linux内核真正的I2C控制器驱动程序
    • IMX6ULL:Linux-4.9.88\drivers\i2c\busses\i2c-imx.c
    • STM32MP157:Linux-5.4\drivers\i2c\busses\i2c-stm32f7.c
  • 本节视频的代码在GIT仓库中
    • IMX6ULL:doc_and_source_for_drivers\IMX6ULL\source\04_I2C\06_i2c_adapter_virtual_ok
    • STM32MP157:doc_and_source_for_drivers\STM32MP157\source\A7\04_I2C\06_i2c_adapter_virtual_ok
  1. 实现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,返回错误。
  2. 编程看视频:请观看相关视频进行学习。

  3. 上机实验

    • 3.1 设置工具链:根据您的开发环境设置合适的工具链。
    • 3.2 编译、替换设备树:在设备树的根节点下,添加如下代码:
i2c-bus-virtual { compatible = "100ask,i2c-bus-virtual";};
登录后复制
  • 3.3 编译、安装驱动程序:按照视频指导编译并安装驱动程序。
  • 3.4 使用i2c-tools测试:使用i2c-tools工具对驱动进行测试。

Linux系统驱动之完善虚拟的I2C_Adapter驱动并模拟EEPROM

以上就是Linux系统驱动之完善虚拟的I2C_Adapter驱动并模拟EEPROM的详细内容,更多请关注php中文网其它相关文章!

相关标签:
驱动精灵
驱动精灵

驱动精灵基于驱动之家十余年的专业数据积累,驱动支持度高,已经为数亿用户解决了各种电脑驱动问题、系统故障,是目前有效的驱动软件,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号