一、前言 前面第二篇文章中,我总结了Linux系统下i2c驱动中的适配器驱动,但是一个完整的总线-设备驱动模型应该包含总线驱动和设备驱动,总线驱动也就是前面所总结的i2c适配器驱动,现在再来总结一下i2c设备驱动的具体实现步骤。 二、硬件平台及内核版本 硬件平台:NXP I.MX6Q(四核) Ker ...
分类:
其他好文 时间:
2020-05-25 00:22:03
阅读次数:
63
I2C总线、设备、驱动 框架 I2C驱动框架可分为3个部分,分别是:I2C核心层、I2C总线驱动层(适配器层)以及I2C设备驱动层; I2C核心层 提供了统一的I2C操作函数,主要有两套函数smbus(system manager bus)和i2c_transfer; 其中smbus是i2c_tra ...
分类:
其他好文 时间:
2019-09-22 22:01:40
阅读次数:
101
专题2-总线设备驱动模型 第1课-总线设备驱动模型 随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔,跨平台移植性的 要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,从Linux 2.6内核开始提供了全新的设备模型。 (1) 描述结构 在Linux 内核中, 总线由bu ...
分类:
其他好文 时间:
2019-09-03 13:35:28
阅读次数:
92
嵌入式设备驱动的编写,基本上都要按照一定的驱动模型编写。不这么做的话,一旦设备发生了更新和改变,大部分的驱动代码都要推倒重来,代码的重用率低,不具备移植性。所以在新版linux2.6.22以后的内核版本中设计总线设备驱动模型,其实就是将单一的驱动拆成三部分:总线设备驱动、核心层驱动(纯软件)、设备层 ...
分类:
其他好文 时间:
2019-09-02 17:19:09
阅读次数:
108
由于之后的触摸屏驱动分析中使用到了GPIO子系统和i2c子系统,因此在分析触摸屏驱动之前我准备把这两个子系统进行简单分析。 在读者学习本章以及后续i2c相关章节之前,最好了解i2c通信方式,可以参考:i2c编程。 一、i2c框架分析 和总线设备驱动模型类似,i2c分为核心层、总线驱动层和设备驱动层。 ...
分类:
其他好文 时间:
2019-06-14 22:03:04
阅读次数:
149
由于 I2C 可以控制多从机的属性,设备驱动模型分为 I2C总线设备(类似与Linux里面的I2C适配器) + I2C从设备; 系统I2C设备驱动主要实现 I2C 总线设备驱动,而具体的I2C 从设备的实现则调用I2C总线设备ops 访问 I2C 总线设备 一般情况下 MCU 的 I2C 器件都是作 ...
分类:
其他好文 时间:
2019-05-29 16:35:23
阅读次数:
316
基于335X的linux网口驱动分析 一、 系统构成 1、 硬件平台 AM335X 2、 LINUX内核版本 4.4.12 二、 网口驱动构架(mdio部分) mdio网口驱动部分 使用 总线、设备、驱动模型,总结如下: struct bus_type platform_bus_type = { . ...
分类:
系统相关 时间:
2019-05-08 09:30:25
阅读次数:
256
Linux中的Platform总线是虚拟总线,它把驱动和设备的注册都分开来,对于他们的牵红线(匹配)过程,提供了“总线-设备-驱动”模型。 它的结构如下图所示: 为什么要这么做? 试想,如果设备和驱动不分开,那么不同设备将会产生大量驱动(代码冗余),而且维护起来工作量很大。 Platform模型则把 ...
分类:
系统相关 时间:
2019-03-17 01:00:52
阅读次数:
186
公元1951年5月15日的国会听证上,美国陆军五星上将麦克阿瑟建议把朝鲜战争扩大至中国,布莱德利随后发言:“如果我们把战争扩大到共产党中国,那么我们会被卷入到一场错误的时间,错误的地点同错误的对手打的一场错误的战争中。”写代码,适用于同样的原则,那就是把正确的代码..
分类:
系统相关 时间:
2017-07-11 15:47:02
阅读次数:
315
目录视图 摘要视图 订阅 目录视图 摘要视图 订阅 目录视图 摘要视图 订阅 【观点】物联网与大数据将助推工业应用的崛起,你认同么? CSDN日报20170703——《从高考到程序员——我一直在寻找答案》 【直播】探究Linux的总线、设备、驱动模型! 数据倾斜是多么痛?spark作业调优秘籍 20 ...
分类:
其他好文 时间:
2017-07-03 22:42:43
阅读次数:
233