Archives: Linux IIC PCF8563

Advertisement

linux IIC子系统分析(八)——实例分析通过sysfs访问I2c设备

在linux2.6.32.2内核中已经实现对AT24CXX(EEPROM)驱动测支持,在这里我们只需要将它移植到我们工程中即可. 一直步骤: (1)配置内核:I2C support (2)配置内核:Misc devices --> EEPROM support --> <*> I2C EEPROMs from most vendors (3)在/linux-2.6.32.2/arch/arm/mach-s3c2440/math-mini2440.c中添加: #include <

linux IIC驱动开发(详)

I2C总线是有Philips公司开发的,它是一种比较简单的总线,接线简单:只有两根线数据线(SCL)和时钟线(SDA),控制简单.所以一些封装较小的器件多使用I2C总线,常见的使用I2C总线的设备有EEPROM.rtc及一些传感器.这里我们介绍下基于linux的I2C设备驱动的编写. I2C设备驱动的编写有多种方式: 一种是直接操作CPU的I2C控制器,正对于某一个设备写一个字符驱动,这种驱动相对来说比较直接,不需要太依赖于内核相关配置,但是这类设备驱动依赖CPU,可移植性较差. 一种是基于li

Linux IIC驱动

基于嵌入式Linux 的I2C设备驱动程序的分析 Linux I2C驱动分析与实现--例子 对i2c-0等设备节点的操作 打开i 打开i2c设备后对其进行多次ioctl系统调用 2c设备后对其进行多次ioctl系统调用

[置顶] linux2.6驱动开发系列教程

这段时间一直在做android下的驱动,android驱动底层跟linux如出一辙,所以这里准备做一个专题,把linux驱动做一个总结,为android接下来的驱动开发打好基础,大致的思想如下: 一.linux驱动基础开发 0.linux驱动基础开发0--linux 设备驱动概述 1.linux驱动基础开发1--linux 设备驱动基本概念 2.linux驱动基础开发2--linux 驱动开发前奏(模块编程) 3.linux驱动基础开发3--linux 内核配置机制(make menuconfi

Linux设备驱动剖析之IIC(二)

953行,适配器的编号大于MAX_ID_MASK是不行的,MAX_ID_MASK是一个宏,展开后的值为61. 957至968行,关于管理小整形ID数的,没怎么了解,略过. 974行,调用i2c_register_adapter函数注册IIC适配器,下面是它的定义: 00000837 static int i2c_register_adapter(struct i2c_adapter *adap) 00000838 { 00000839 int res = 0; 00000840 00000841

Linux中IIC总线驱动分析

1.1 Linux的I2C驱动框架 Linux内核的I2C总线驱动程序框架如图1所示: 图1.I2C总线驱动程序框架 Linux的I2C体系结构分为3个组成部分: I2C核心:I2C核心提供了I2C总线驱动和设备驱动的注册.注销方法,I2C通信方法(即"al2gorithm")上层的.与具体适配器无关的代码以及探测设备.检测设备地址的上层代码等.这部分是与平台无关的.与其对应的是Linux内核源代码中的drivers目录下的i2c2core.c. I2C总线驱动:I2C总线驱动是对I2

Linux设备驱动剖析之SPI(一)

写在前面 初次接触SPI是因为几年前玩单片机的时候,由于普通的51单片机没有SPI控制器,所以只好用IO口去模拟.最近一次接触SPI是大三时参加的校内选拔赛,当时需要用2440去控制nrf24L01,从而实现数据的无线传输.nrf24L01是一种典型的SPI接口的2.4GHz无线收发器,当时搞了很久,由于时间比较紧,而且当时根本不熟悉Linux的SPI子系统,最后虽然采用IO口模拟SPI的方式勉强实现了,但是这根本就不符合Linux驱动的编程规范,或者说是在破坏Linux.污染kernel. 根

[置顶] The Linux device model

/sys和 /dev的疑问 1./dev 下放的是设备文件,是由应用层mknod创建的文件.如果底层驱动对mknod的设备号有对应的驱动,如open等函数,那么应用层open "/dev/**"时,就会调用到底层的驱动.说白了,/dev下放的是内核和应用层交互的文件,让应用层去open,write,poll等. 2./sys 是个文件系统,你写内核代码时,如果有调用kobj_init等函数,就会在/sys下的相应目录生成相应文件. 它的作用是将内核注册的设备.驱动.BUS连成一个树形结

linux驱动面试题2

1.什么是GPIO? general purpose input/output GPIO是相对于芯片本身而言的,如某个管脚是芯片的GPIO脚,则该脚可作为输入或输出高或低电平使用,当然某个脚具有复用的功能,即可做GPIO也可做其他用途. 也就是说你可以把这些引脚拿来用作任何一般用途的输入输出,例如用一根引脚连到led的一极来控制它的亮灭,也可以用一根(一些)引脚连到一个传感器上以获得该传感器的状态,这给cpu提供了一个方便的控制周边设备的途经.如果没有足够多的gpio管脚,在控制一些外围设备时就

在linux内核驱动树中添加自己的驱动

在linux内核驱动树中添加自己的驱动 例如在linux-2.6.x.x/drivers/char中添加驱动目录lzp_iic 1.在linux-2.6.x.x/drivers/char目录下添加lzp_iic目录,并在lzp_iic目录添加Kconfig和Makefile /*******************Kconfig 内容******************************************/ # # AT24C02A device configuration # #用

嵌入式开发入门(stm32及linux)

[转]STM32和Linux(转载) 2014-4-6阅读403 评论0 Linux和stm32 一个是软件平台一个是硬件平台,完全不一样的(记住,是平台!).这样说吧,既然你喜欢单片机,就先学stm32,把硬件基础打牢,尤其是各种总线(usb.iic.spi...).各种外设模块(红外.温湿.mpu6050...),然后就把注意力集中到ucosii上,也就 是说学会把你的任务放到操作系统这个架构里完成,而不是简单地写程序--对操作系统机制的掌握是你和周围的单片机同事拉开距离的关键:在这过程中你

S5pv210 HDMI 接口在 Linux 3.0.8 驱动框架解析 (By liukun321 咕唧咕唧)

作者:liukun321 咕唧咕唧 日期:2014.1.18 转载请标明作者.出处:http://blog.csdn.net/liukun321/article/details/18452663 本文主要简述S5pv210处理器的 HDMI 接口在 Linux 3.0.8 内核下的驱动框架. 现在三星的主流处理器基本都支持HDMI,使用HDMI也有段时间了,却一直不知道它是怎么工作的,只知道linux和android下都会有一个HDMI-service的用户服务程序.然后底层会有HDMI驱动.知

linux下I2C驱动

linux下I2C驱动(-) by good02xaut 最近的一段时间,总结一下linux下开发I2C设备驱动的要点.内容随想,没有多加整理. I2C协议规定了主机和从机的概念,在驱动中采用的多是适配器(主机)和设备(从机). 首先,i2c规定 Bus -> Algorithm 算法 Adapter 适配器 Device -> Driver Client 从机设备 1.适配器是不是设备? 从总线结构上看,adapter提供的是一种虚拟总线,既可以作为设备看待,又可以不作为设备看待.举例说明:

基于S3C2440的Linux-3.6.6移植——devfs文件系统的IIC应用

Linux-3.6.6提供了两种访问IIC的方法,一种是基于devfs的方法,另一种是基于sysfs的方法,文中介绍第一种方法,下一篇文章介绍第二种方法. 在arch/arm/plat-samsung/devs.c文件已经定义了IIC平台设备及其资源: static struct resource s3c_i2c0_resource[]= { [0]= DEFINE_RES_MEM(S3C_PA_IIC,SZ_4K), [1] = DEFINE_RES_IRQ(IRQ_IIC), }; stru

linux 书籍推荐

刚毕业的时候,去OPPO上班.当时我们android驱动组长杨海给我发了个书单,我用了两年时间好好地把下面几本书好好地学了一遍.但是还是好多不是特别明白.之后,做了两年FPGA,懂得了好多硬件和芯片知识.今天我再次把linux学习捡起来,发现自己理解的更加透彻. 所以我觉得,懂得硬件和芯片的知识,这样才能更好地去理解linux和操作系统.也才能更好地写出很好的驱动程序. linux内核有时候把东西搞的特别麻烦,比如IIC和spi之类,其实就是很简单的接口.而内核相关的驱动程序就一层层地封装.这本

关于Linux下I2C驱动的Probe方式没有自动生成i2c_client且没有自动调用i2c_driver的.probe指向的函数的问题解决

背景 项目内容是使用i2c接口的温湿度传感器SHT21,连接至mini2440上实时采集气压存储至板子上的sqlite数据库并显示一个Qt的界面.同学负责SHT21的驱动编写,博主负责上层应用的开发. 开发工具均使用mini2440官方提供的工具,交叉编译器使用gcc4.4.3 with EABI,开发板内核是linux-2.6.32.2版本,主机环境是Ubuntu12.04. 问题 某一天,博主被告知,SHT21的i2c驱动编写完成,测试一切正常.于是博主从同学那里将驱动文件SHT21.ko和

Android210 调试支持linux系统

Android210 默认调试的android4.0 全功能版本,支持 电容屏 重力感应 3G wifi 蓝牙 GPS 摄像头等功能, 现在已经调试好 linux系统,android210的用户可以登陆 http://www.urbetter.com/main.asp,联系相关工作人员获取更新资料. 一下是linux系统相关资料: 1. Android210 接口说明 2. Android210 linux系统运行 内存大小 3. Android210 参数说明 内核:SamSung ARM C

linux(pppoe server )拨号服务器建立2

是指要为 rh 设置其为 pppoe server . 看一下这个参考一下: 建立PPPOE服务器跟我来 在Linux下建立PPPOE服务器的步骤 建立环境: 操作系统:DEBIAN 2.2 升级到3.0 内 核:2.4.18 硬件环境:赛扬3 1.1G ,内存 128M , 硬盘 40G ,主板芯片组 694T 显 卡:ATI RAGE IIC(4M) PPPOE服务器:RP-PPPOE 3.4.1 RADIUS服务器:FREERADIUS 0.8 数 据 库: MYSQL 3.23.56 P

LINUX I2C模型 RTC模型 详细分析

转载请注明出处玮璘博客:http://www.wangweilin.name/qrx_456.html 注意: 1. LINUX-2.6.20的内核 2. CPU是AT91SAM9260 3. PCF8563的I2C驱动 大体过程: 1. 为什么内核要有这么多模型 2. platform总线.设备.驱动模型,简单的介绍 3. I2C模型所涉及到的程序文件位置及简介 4. 关键数据结构 5. I2C驱动模型流程图 6. 按流程图顺序分析代码 7. RTC模型简单介绍 8. PCF8563设备操作驱