加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

我应该如何构建一个在一个设备中使用多个芯片的Linux驱动程序?

发布时间:2020-12-13 23:25:07 所属栏目:Linux 来源:网络整理
导读:我有一个硬件设备,由I2C总线上的3个独立芯片组成.我想将它们组合在一起,并将它们作为一个逻辑设备公开给用户.用户可以看到/ sys中某个目录所代表的逻辑设备,以及/ sys / class / i2c-adapter / i2c下的I2C芯片节点 – ?/ *. 其中一个芯片是MCP23017,据我所
我有一个硬件设备,由I2C总线上的3个独立芯片组成.我想将它们组合在一起,并将它们作为一个逻辑设备公开给用户.用户可以看到/ sys中某个目录所代表的逻辑设备,以及/ sys / class / i2c-adapter / i2c下的I2C芯片节点 – ?/ *.

其中一个芯片是MCP23017,据我所知已经有一个驱动程序(drivers / gpio / gpio-mcp23s08.c),我想重用它.另一个芯片是PCA9685,我想为这个使用include / linux / pwm.h中的PWM系统的芯片贡献一个驱动程序.第三个芯片是运行自定义固件的MCU.

我该如何构建驱动程序集?我的一个想法是注册一个平台驱动程序来呈现逻辑设备,并使用其中的I2C驱动程序.这是一个好方法吗?还有更好的方法吗?

逻辑设备是电机驱动板和IR接收器.我有simple diagram of its structure.

我正在寻找创建两个接口.第一个类似于/ sys / class / gpio,其中电机可以“导出”,然后通过读写属性访问.这对于s??hell脚本访问和连接到电机的系统的机械部件的快速调试是有用的.第二个是/ dev中的字符设备节点,其中数据可以以二进制格式读取或写入,对于应用程序控制更有用.

解决方法

它似乎不是通常的设计,你确定你可以访问所有芯片的I2C总线吗?

我认为您应该只能与MCU通信,MCU应该管理其他设备.否则,为什么MCU在那里?但是,我看不到你的图表,也许链接是错误的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读