IIC
文章平均质量分 85
li_wen01
liwen01
展开
-
linux IIC子系统分析(九)——实例分析通过设备节点访问I2c设备
在《 linux IIC子系统分析(四)——I2c bus初始化》中我们创建了I2C 总线驱动,I2C adapter device 和adapter drivers也在这时创建在《linux IIC子系统分析(七)——实例分析通过i2c-dev操作I2C设备》我们实现了在应用层驱动I2C设备EEPROM在《linux IIC子系统分析(九)——实例分析通过sysfs访问I2c设备》我们实现了...原创 2018-04-24 11:00:39 · 3715 阅读 · 0 评论 -
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....原创 2018-04-24 11:00:31 · 2792 阅读 · 0 评论 -
linux IIC子系统分析(一)——AT24C02 芯片简介
现在很多地方都有应用到eeprom存储芯片,主要是因为它现在存储空间越来越大,价格越来越便宜,我使用的mini2440开发板上贴的是AT24C02,与S3C2410的IIC相连接,为了更好的学习Linux的IIC子系统,了解IIC芯片操作方式是非常有必要的。AT24C02芯片特性和引脚功能定义直接看Datasheet就可以了。我只关注设备地址和操作方式,我们实际应用中知道这些就可以操作它了。1.A...原创 2018-04-24 10:59:45 · 6263 阅读 · 4 评论 -
linux IIC子系统分析(三)——I2c子系统初始化顺序分析
对于linux的IIC子系统,看了很多人的IIC源码及架构分析,看完了自己还是一头雾水,不知从何下手。因此只能看开机启动LOG分析各初始化函数,先看linux IIC子系统已经为我们做了些什么,然后再看还需要我们做些什么。 从而了解整个IIC子系统架构。1.linux初始化函数的执行顺序决定函数执行顺序的有两个因素:(一)vmlinux.lds 链接脚本(二)驱动目录下的Makefile 文件定义...原创 2018-04-24 11:03:53 · 2374 阅读 · 1 评论 -
linux IIC子系统分析(四)——I2c bus初始化
这里的I2C Bus 并不是通讯上的总线,而是linux系统为了管理设备和驱动而虚拟出来的,在I2C Bus用来挂载后面将会使用到的I2C 适配器(adapter)和I2C设备(client)。另外,我们即将会使用到platform device和platform driver。注意这里的i2c bus与platform bus不是属于同一个类型的总线,platform bus用来管理platfo...原创 2018-04-24 11:04:00 · 4814 阅读 · 1 评论 -
linux IIC子系统分析(六)——I2c plaform driver 初始化
完成platform device注册之后,接下来需要初始化的是platform driver。在driver/i2c/busees 目录下的i2c_s3c2410c 中有函数:driver/i2c/busees/i2c_s3c2410.cstatic int __init i2c_adap_s3c_init(void){ return platform_driver_register(&am...原创 2018-04-24 11:00:11 · 1859 阅读 · 1 评论 -
linux IIC子系统分析(七)——实例分析通过i2c-dev操作I2C设备
在前面的platform device和platform driver初始化中,我们已经实现了I2C总线驱动(adapter),但是我们的设备驱动还没有实现。如果我们现在要访问I2C设备(比如eeprom),我知道的有三总方法:(一)i2c-dev操作I2C设备:不用添加设备驱动,用户直接在应用层完成对具体I2C 设备的驱动工作。(二)sysfs操作I2C设备:需添加设备驱动,通过sys展示出来的...原创 2018-04-24 11:00:18 · 8726 阅读 · 0 评论 -
linux IIC子系统分析(二)—— linux i2c 架构概述
I2C总线因为它及简单的硬件连接和通讯方式,在现在的很多设备上它是一种不可或缺的通讯总线。如果用当单片机直接操作I2C,其实很简单,只要正确把握IIC的操作时序就可以了。但是在linux系统中,I2C子系统结构是比较复杂的,因为它涉及到很多linux内核相关的知识,理解起来十分费劲。(一)I2C架构概述Linux 的I2C体系架构分为3个组成部分:(1)I2C核心:I2C核心提供了I2C总线驱动和...原创 2018-04-24 10:59:52 · 3316 阅读 · 0 评论 -
linux IIC子系统分析(五)——I2C plaform device 初始化
platform 机制不复杂,但是比较不好理解,它由platform device 和platform driver两部分组成。I2C的platform device 初始化在mach-smdk2440.c文件中进行/arch/arm/mach-s3c2440/mach-smdk2440.cstatic void __init smdk2440_machine_init(void){ s3c...原创 2018-04-24 11:00:03 · 1960 阅读 · 0 评论