标签 i2c 下的文章

  • 📂Linux内核驱动:gpio模拟i2c驱动(待完善)教程

    目录一、配置1. config配置2. dts配置二、代码分析三、应用读写本文基于linux 4.19 版本内核进行分析。 Linux内核很多驱动都使用到I2C子系统。EEPROM、RTC,电池,tp等。 inux内核的i2c-gpio是使用GPIO模拟I2C协议的驱动,在内核中已经实现了,我们要做的只需要配置2根GPIO即可。 GPIO模拟I2C协议的驱动位于drivers/i...

  • 📂Linux 内核:设备树(4)设备树中各个节点是谁转换的教程

    Linux 内核:设备树(4)设备树中各个节点是谁转换的背景==========================================================================之前,我们在《把device\_node转换成platfrom\_device》中提到在设备树的device\_node到platform\_device转换中,必须满足以下条件:一般情...

  • 📂记主控 i2c 无信号输出(linux)教程

    因主控没有集成 RTC 功能,需要外挂时钟芯片 PCF8563 -- i2c通讯;把原厂提供的驱动添加完成后,可以板上 i2c0 下找到对应节点(PCF8563 挂在 i2c0 下),同时 dev 下也多了个设备 rtc0,执行操作 rtc 时钟命令 #hwclock ,返回读错误。(没有正确添加驱动前执行#hwclock 会提示找不到设备)\#dmesg 查找到读写PCF8563 超时使用...

  • 📂Linux I2C内核架构分析,基于三星I2C控制教程

    I2C内核架构分析本章以linux3.14.0为参考, 讨论Linux中的i2c控制器驱动是如何实现的。驱动入口三星的i2c控制器驱动是基于platform总线实现的,struct platform\_driver定义如下: 当设备树节点信息的compatible信息和注册的platform\_driver.driver. of\_match\_table字符串会通过platform总线的...

  • 📂IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比教程

    首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platform模型,有些文章只是把代码移植到平台上调试测试下,并没有理清内部逻辑调用关系,所以觉得有必要把两种驱动模型阐述剖析清楚,本文阅读者必须以在单片机上调试过IIC总线为前提,能够分析从芯片dat...

  • 📂使用 Shell 调试 I2C 设备教程

    概述 =======================板:hi3516ev200 oled:连接I2C2,Pin30(i2c2\_scl),Pin31(i2c2\_sda)寄存器 ========================Pin I2C2\_SCL IO Config Register 地址0x112C003C,默认值0x1C00,当bit[3:0]为0x01时使用i2c功能。P...

  • 📂【linux kernel】内核移植过程记录教程

    系统版本:Ubuntu18.04-64编译器版本:gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1)uboot版本:2018.07 -linux4sam\_6.0板子型号:at91sama5d3x-xplainedMCU型号:sama5d36内核移植主要是裁剪一些不需要的功能,使用对应的交叉工具链把内核重新编译,设备树文件按照硬件...

  • 📂Linux驱动-IIC驱动(基于AP3216C)教程

    #include <linux/types.h> #include <linux/module.h> #include <linux/init.h> #include <linux/kernel.h> #include <asm/io.h&g...

  • 📂【北京迅为】i.MX6ULL终结者Linux I2C驱动实验实验程序编写教程

    文章目录1 硬件原理图2 修改设备树3 驱动程序编写4 应用测试程序1 硬件原理图图 1.12 修改设备树1、添加pinctrl信息 首先在设备树文件中添加AP3216C设备的引脚信息,AP3216C使用的是I2C1接口,对应的是UART4\_TXD 和 UART4\_RXD两个引脚,所以需要在设备树中将这两个引脚复用成I2C1功能,AP3216C设备上还有一个中断引脚,使用了GIO1\...

  • 📂【北京迅为】i.MX6ULL终结者Linux I2C驱动实验I2C设备驱动编写流程教程

    文章目录1 设备信息描述2 I2C设备的数据收发和处理I2C总线驱动一般是不用用户自己编写的,而I2C设备驱动则需要用户自己编写。每个设备的驱动都不相同,但是编写流程是一样的。下面就来具体分析一下。1 设备信息描述1、不使用设备树文件 当开始编写I2C设备驱动时,首先要添加设备信息。先来看一下在不使用设备树,使用平台文件时,如何在平台文件中添加I2C设备信息。 在平台文件中通过i2c...

  • 📂嵌入式linux读取sht20温湿度传感器例程教程

    sht20主要是i2c总线接口 设备地址0x40 读取温度原理:读取0xe3寄存器地址两个字节 读取温度原理:读取0xe5寄存器地址两个字节以下是代码 sht20.c#include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <sys/types.h> #...

  • 📂驱动篇:Linux 的 I2C设备驱动(三)(摘录)教程

    驱动篇:Linux 的 I2C设备驱动(三)I 2 C 总线驱动 1.I 2 C 适配器驱动加载与卸载I 2 C 总线驱动模块的加载函数要完成两个工作。 1.初始化 I 2 C 适配器所使用的硬件资源,如申请 I/O 地址、中断号等。 2.通过 i2c\_add\_adapter()添加 i2c\_adapter 的数据结构,当然这个 i2c\_adapter 数据结构的成员已经...

  • 📂Linux驱动知识点教程

    \#i2c\_add\_driver和i2c\_new\_device匹配后调用i2c\_probe\#启动开发板,在超级终端中输入命令“cat /proc/misc”也可以查看对应的杂项设备。 前面介绍过主设备号只有 256 个,而设备又非常多,所以引入了子设备号。 其中misc杂项设备的主设备号是 10,在任何 Linux 系统中它都是固定的。\#.

  • 📂Linux I2C驱动框架教程

    Linux的I2C体系结构分为3个组成部分:I2C核心( i2c-core.c ):I2C核心提供了I2C总线驱动和设备驱动的注册、注销方法、I2C通信方法(”algorithm”)、与具体适配器无关的代码、探测设备、检测设备地址的上层代码等。给驱动编程人员提供编程接口。I2C总线驱动( i2c-s3c2410.c ):I2C总线驱动是对适配器端的实现( 即初始化i2c控制器 )。实现操作方...

  • 📂找回了当年一篇V4L2 linux 摄像头驱动的博客教程

    从csdn找回 , 无缘无故被封了。。当时损失不少啊!!!!!!!!!linux 摄像头驱动 : 核心数据结构: /** * struct fimc\_dev - abstraction for FIMC entity * @slock: the spinlock protecting this data structure * @lock: the mutex protec...

  • 📂linux驱动之I2C总线驱动框架分析教程

    Table of Contents1、I2C模型框图2、设备信息层2.1、非设备树形式2.2、设备树形式3、芯片控制器层adapter3.1、控制器初始化 3.2、控制器底层传输函数(起始,数据,应答,停止)4、核心层core.c i2c\_bus4.1、i2c\_bus总线初始化4.2、client(设备)和i2c\_driver(设备驱动)匹配过程4.2.1、创建client(设备)时匹...

  • 📂Linux I2C总线(一)I2C驱动框架教程

    copy from:https://blog.csdn.net/weixin\_42462202/article/details/100083025文章目录 Linux I2C总线(一)I2C驱动框架 一、Linux I2C驱动的主要对象 1.1 I2C总线 1.2 I2C设备 1.3 I2C驱动 1.4 I2C适配器 二、Linux I2C驱动框架 三、I2C驱动框架源码剖...

  • 📂Linux驱动开发之IIC开发教程

    2020-02-19关键字:IIC通信协议-嵌入式设备中常见的IIC从设备有:1、CMOS 摄像头2、触摸屏3、重力传感器4、EEPROM5、HDMIIIC通信协议是一种主从通信模式的协议,在进行IIC驱动开发的时候,我们都是站在主机的角度来开发的,所有要驱动的设备在我们的驱动程序看来都是从设备。IIC通信协议IIC是使用 2 根数据线来完成通信目的的。其通信方式如下图所示:这两根线中一根是...

  • 📂linux i2c-tools教程

    了解linux i2c-tools1.Introductioni2c-tools工具是一个专门调试i2c的,开源,可获取挂载的设备及设备地址,还可以在对应的设备指定寄存器设置值或者获取值等功能。1.1.下载i2c-tools,交叉编译从https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/下载i2c-tools,解压,修改M...

  • 📂linux – 在没有附加设备的情况下设置I2C地址教程

    我今天一直在努力学习I2C,我花了一些时间来设置,但我现在已经安装了配置了i2c-tools的Raspberry Pi,我可以看到/ dev / i2c-0.但是当我运行i2cdetect -y 0时,我得到一个空地址表.这是有道理的,因为我没有任何设备连接到I2C总线.我想做的是能够写入I2C引脚并使用我的示波器观察输出,甚至连接LED,这样我就可以看到状态变化.这是否可能,如果是这样,我...

  • 📂linux – i2cdetect不会显示设备,但它就在那里教程

    只是一个简单的问题.在我的i2c总线0上,我有两个设备,0x32和0x20.当我使用i2cdetect时,只显示其中一个.# ./i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- ...

  • 📂linux 上层应用 i2c读写demo程序教程

    <pre class="has">/*This software uses a BSD license.Copyright (c) 2010, Sean Cross / chumby industriesAll rights reserved.Redistribution and use in source and binary forms, with or ...

  • 📂Zynq linux的I2C驱动学习笔记(一)教程

    最近在用米尔的Z-TURN BOARD单板做小项目。顺便也加强学习I2C驱动,记一篇做记录。 I2C总线知识非常简单,SDA,SCL,他们的时序规则是:I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电...

  • 📂为什么linux中不支持重复启动的i2c操作?教程

    我想从i2c slave读取,需要多次启动操作才能读取其寄存器值.在某种程度上,我已经在Linux内核3.18.21中跟踪了I2C驱动程序,我发现它不支持多启动操作,我无法读取此I2C从设备(以太网供电管理器PD69104B1).如果需要这个i2c从站或其他任何需要,我仍然可以找到扩展驱动程序的方法.我使用i2c-tools 3.2.1. 我试着$i2cdump -y 0 0x20 但我...

  • 📂使用Linux通过I2C读写EEPROM教程

    我尝试通过I2C读取和写入带有Raspberry Pi B的Atmel 24C256 EEPROM,但是我无法正常工作.这是我到目前为止的代码:#include <stdio.h> #include <stdlib.h> #include <linux/i2c-dev.h> #include <fcntl.h> #include <str...

  • 📂linux内核中的MFD子系统教程

    分析用的内核版本为5.1.31.MFD全称Multi-function Device,多功能设备2. 为何会出现MFD子系统由于出现了一类具有多种功能的外围设备或cpu内部集成的硬件模块3. 有哪些多功能设备呢?3.1 PMIC,电源管理芯片da9063: 调节器,led控制器,看门狗,实时时钟控制器,温度传感器,震动马达驱动,长按关机功能(ON key)max77843: 调节器,充电器,...

  • 📂linux I2C驱动 :整体架构(1)教程

    有一篇很不错的文章,可以看这篇:https://www.cnblogs.com/xiaojiang1025/p/6500540.html本文更重要的是一些要点的记录:I2C 驱动分为: I2C 核心、I2C总线驱动、 I2C 设备驱动I2C 核心:提供I2C总线驱动和设备驱动的注册、注销方法等等。I2C总线驱动:对I2C硬件体系中适配器的实现。主要有I2C适配器数据结构 i2c\_adapt...

  • 📂28.Linux-IIC驱动(详解)教程

    come from : http://www.cnblogs.com/lifexy/p/7816324.html1. I2C体系结构分析1.1首先进入linux内核的driver/i2c目录下,如下图所示:其中重要的文件介绍如下:1)algos文件夹(algorithms)里面保存I2C的通信方面的算法2)busses文件夹里面保存I2C总线驱动相关的文件,比如i2c-omap.c、 i2c...