内核版本:3.10.1编写一个I2C设备驱动程序的工作可分为两部分,一是定义和注册I2C设备,即i2c_client;二是定义和注册I2C设备驱动,即i2c_driver。下面我们就以mini2440的I2C设备at24c08 EEPROM为例,介绍如何完成这两个工作。 一、定义和注册I2C设备步骤1:用i2c_board_info保存I2C设备相关信息在Linux中,struct i2            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-25 22:15:55
                            
                                299阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1 I2C的总体架构框图如下:1.1 包括三大部分:I2C核心层、I2C总线驱动和I2C设备驱动。(1)I2C核心层(i2c-core)提供了I2C总线驱动(适配器)和设备驱动的注册、注销方法,I2C通信方法(”algorithm”)上层的,与具体硬件无关的代码以及探测设备检测设备地址的上层代码等。(2)I2C总线驱动(I2C adapter):I2C总线驱动是I2C适配器的软件实现,提供I2C适            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-26 14:02:20
                            
                                147阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. Linux 的I2C 驱动架构
Linux 中I2C 总线的驱动分为两个部分,总线驱动(BUS)和设备驱动(DEVICE)。其中总线驱动的职责,是为系统中每个I2C 总线增加相应的读写方法。但是总线驱动本身并不会进行任
何的通讯,它只是存在在那里,等待设备驱动调用其函数。
设备驱动则是与挂在I2C 总线上的具体的设备通讯的驱动。通过I2C 总线驱动提供的函数,设备驱动可以忽略不同总线控制器的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-27 08:29:12
                            
                                149阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                   i2c驱动在Linux通过一个周的学习后发现i2c总线的驱动框架还是和Linux整体的驱动框架是相同的,思想并不特殊比较复杂的内容如i2c核心的内容都是内核驱动框架实现完成的,今天我们暂时只分析驱动开发需要完成的部分。iic驱动驱动开发主要是完成四个部分的内容,struct i2c_adapter(适配器),struct i2c_algorit            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-01 13:05:34
                            
                                104阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Linux I2C驱动是Linux操作系统中用于控制I2C设备的驱动程序。I2C(Inter-Integrated Circuit)是一种用于连接微控制器和硬件设备的串行通信总线。在Linux系统中,I2C设备通常通过I2C总线进行通信,而Linux I2C驱动则负责管理和控制这些设备的通信。
Linux内核中的I2C子系统提供了I2C总线的支持,而I2C设备的驱动程序则通过内核模块的形式与I2            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-18 10:24:44
                            
                                91阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            概述linux I2C体系结构由三部分组成①I2C核心:提供I2C总线驱动和设备驱动的注册、注销方法②I2C总线驱动:主要包括两个数据结构,适配器I2c_adapter(包括algorithm结构体指针)、和algorithm数据结构(最终I2C的通信是由algorithm结构控制发送与接受数据)③I2C设备驱动:是对I2C硬件体系结构中设备端的实现,两个数据结构            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-19 14:11:57
                            
                                143阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            I2C 是很常用的一个串行通信接口,常用于连接各种外设、传感器等器件。一、Linux I2C 驱动框架Linux 内核将 I2C 驱动分为两部分: ①、 I2C 总线驱动, I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。 ②、 I2C 设备驱动, I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。 一般 SOC 的 I2C 总线驱动都是由半导体厂商编写的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-02 08:41:04
                            
                                831阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Linux驱动中I2C系统中主要包含以下几个成员:I2C adapter 即I2C适配器
I2C driver 某个I2C设备的设备驱动,可以以driver理解。
I2C client  某个I2C设备的设备声明,可以以device理解。I2C adapter 是CPU集成或外接的I2C适配器,用来控制各种I2C从设备,其驱动需要完成对适配器的完整描述,最主要的工作是需要完成i2c_algor            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 17:31:57
                            
                                264阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.Linux I2C驱动流程			①提供I2C适配器的硬件驱动,探测、初始化I2C适配            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-14 10:52:44
                            
                                247阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录Linux-i2c驱动架构总线驱动i2c设备驱动和设备 Linux-i2c驱动架构       i2c驱动在Linux通过一个周的学习后发现i2c总线的驱动框架还是和Linux整体的驱动框架是相同的,思想并不特殊比较复杂的内容如i2c核心的内容都是内核驱动框架实现完成的,今天我们暂时只分析驱动开发需要完成的部分。iic驱动驱动开发主要是完成四个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-07 20:52:35
                            
                                84阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Linux I2C设备驱动 
在现代计算机系统中,I2C(Inter-Integrated Circuit)是一种广泛应用的串行总线,用于在不同设备之间传输数据。Linux操作系统为开发人员提供了许多I2C设备驱动程序,以支持各种硬件设备的通信。本文将探讨Linux中的I2C设备驱动及其功能。
首先,让我们了解一下I2C是什么。I2C是一种多主多从的通信协议,允许多个设备通过共享两个数据线进行            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-30 19:34:07
                            
                                107阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            客户加了一个MCU来控制主板电源,该MCU作为pnx8735的一个i2C从设备,接收来自pnx8735的i2C的命令。因此,需要增加一个设备驱动程序,用来控制该MCU工作。. 在stb225/src/open/comps/下增加新的设备驱动模块,phStbMCU. 把该模块加入到linux编译列表中  stb225/etc/roster.mk  增加phStbMCU,_phSt            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2010-05-04 17:24:59
                            
                                4623阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.Linux的I2C分3个组成部分: 	①i2c核心:提供I2C总线驱动和设备驱动的注册、注销            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-14 10:51:57
                            
                                229阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            linux i2c smbus驱动主要数据流程和核心数据结构解读            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-31 09:37:15
                            
                                1257阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Linux下的I2C驱动是一种非常重要的驱动程序,它可以实现与从设备的通信。在Linux内核中,I2C总线由I2C核心驱动程序和I2C适配器驱动程序组成。本文将介绍如何编写一个简单的I2C驱动程序,并实现与一个I2C设备的交互。
首先,我们需要创建一个新的内核模块以实现我们的I2C驱动程序。我们通过创建一个.c文件,并在文件中包含必要的头文件来开始。
接着,我们需要在模块载入函数中初始化I2C            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-15 10:25:42
                            
                                100阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            http://www.linuxidc.com/Linux/2011-02/32496.htm目录1. 摘要 32. 简介 33. I2C架构 34. I2C总线初始化 45. I2C适配器驱动 56. I2C设...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-05-03 15:53:37
                            
                                721阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            继续上一篇博文没讲完的内容“针对 RepStart 型i2c设备的驱动模型”,其中涉及的内容有:i2c_client 的注册、i2c_driver 的注册、驱动程序的编写。一、i2c 设备的注册分析:在新版本内核的i2c驱动模型中,支持多种方式来注册 i2c 设备,在Documentation/i2c/instantiating-devices文件中有讲到,在内核中对应的抽象数据结构就是 stru            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-09 15:26:20
                            
                                149阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            比较懒,没有总结,但是都是看见下面的博客进行操作的,就学会来I2C驱动了,各位讲究学吧。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-11-29 23:28:39
                            
                                103阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            i2c 总线struct bus_type i2c_bus_type = {	.name            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-26 14:46:05
                            
                                101阅读