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

Linux系统驱动之编写设备驱动之i2c_client

星夢妙者
发布: 2025-06-25 12:16:01
原创
474人浏览过

资料下载和参考

要下载相关资料,无法通过浏览器直接访问,必须使用git工具进行下载:

git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git
登录后复制

视频观看可以访问百问网驱动大全。

编写设备驱动之i2c_client的参考资料包括:

  • Linux内核文档:Documentation\i2c\instantiating-devices.rst 和 Documentation\i2c\writing-clients.rst
  • Linux内核驱动程序示例:drivers/eeprom/at24.c
  • 本节代码可在GIT仓库中找到:
    • IMX6ULL\source\04_I2C\03_ap3216c_ok
    • STM32MP157\source\A7\04_I2C\03_ap3216c_ok

I2C总线-设备-驱动模型

Linux系统驱动之编写设备驱动之i2c_client

步骤

  1. 编译i2c_driver
  2. 编写测试程序
  3. 多种方法生成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>;
登录后复制

};

平台测试

  1. STM32MP157

    Linux系统驱动之编写设备驱动之i2c_client

  2. IMX6ULL4.4

    上机测试以下命令在开发板中执行。

以上就是Linux系统驱动之编写设备驱动之i2c_client的详细内容,更多请关注php中文网其它相关文章!

驱动精灵
驱动精灵

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

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

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