(1)LinuxI2C驱动--概述
来源:互联网 发布:钢筋含量 大数据 编辑:程序博客网 时间:2024/06/04 19:13
1. 写在前面
本人学生一枚,之前没有详细的接触过linux驱动,只是读过宋宝华的《Linux设备驱动开发详解》,这段时间想静下心来学习下linux i2c驱动,在网上找了很多资料,前辈们写的文章让我受益匪浅,但是一开始上手真的很痛苦,基本上大家都是从linux i2c体系结构的三大组成谈起:i2c核心,i2c总线驱动,i2c设备驱动,好抽象。所以我才想写这个文章,从一个新人的角度分享下我学习linux i2c驱动的心得,写的不对的地方欢迎大家批评指正。
因为对Linux设备模型还不是很熟悉,所以我按照如何去实现一个i2c传输来讲述,对于平台总线、设备与总线如何去匹配等暂时忽略。
当然很多东西都是我从网上搜刮而来的,也请大家原谅。我会把一些有用的博文链接放在最后,希望对大家有用。
2. I2C
I2C总线是由Philips公司开发的两线式串行总线,这两根线为时钟线(SCL)和双向数据线(SDA)。由于I2C总线仅需要两根线,因此在电路板上占用的空间更少,带来的问题是带宽较窄。I2C在标准模式下传输速率最高100Kb/s,在快速模式下最高可达400kb/s。属于半双工。
在嵌入式系统中,I2C应用非常广泛,大多数微控制器中集成了I2C总线,一般用于和RTC,EEPROM,智能电池电路,传感器,LCD以及其他类似设备之间的通信。
3. 硬件
开发板:飞凌OK210
CPU型号:Samsung S5PV210
EEPROM型号:AT24C01A
4. 软件
linux版本:Linux 2.6.35.7
I2C总线驱动:drivers/i2c/busses/i2c-s3c2410.c
eeprom驱动:drivers/misc/eeprom/at24.c
5. 参考
- 《Linux设备驱动开发详解》 宋宝华
- http://blog.csdn.net/liaozc/article/details/6655015 Zechin的专栏
- http://www.linxh.blog.chinaunix.net/uid/25445243/sid-179653-list-1.html 辉辉308
- http://www.linuxidc.com/Linux/2011-11/47651.htm Linux社区 作者:cjok376240497
- http://www.embedu.org/Column/Column190.htm 作者:刘老师,华清远见嵌入式学院讲师。
- http://www.linuxidc.com/Linux/2013-10/91993p14.htm Linux社区 作者:赵春江
- (1)LinuxI2C驱动--概述
- (5)LinuxI2C驱动--浅谈LinuxI2C驱动架构
- (6)LinuxI2C驱动--I2C设备驱动
- (7)LinuxI2C驱动--I2C总线驱动
- (2)LinuxI2C驱动--I2C总线
- (3)LinuxI2C驱动--解析EEPROM的读写
- LinuxI2C总线驱动深入分析
- LinuxI2C总线驱动大致框架
- LinuxI2C总线驱动深入分析
- (4)LinuxI2C驱动--从两个访问eeprom的例子开始
- LinuxI2C驱动--从两个访问eeprom的例子开始
- LinuxI2C驱动--从两个访问eeprom的例子开始
- Linux设备驱动概述(1)
- Linux2.6.32驱动笔记(1)驱动开发概述及硬件访问技术
- WINCE声音驱动模型概述 - 1
- 第1章 设备驱动概述
- WINCE声音驱动模型概述(1)
- Linux网络设备驱动概述-(dm9000-1)
- VS2010中的自动化测试
- python-GUI的几个模块
- [荐]寻找到了成为技术高手的捷径了
- Leetcode题解(7)L51/N-Queens
- 【Eclipse】推荐UML插件Green UML、AmaterasUML
- (1)LinuxI2C驱动--概述
- 什么时候用 assertion(断言)?
- tomcat详解
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
- jstorm 0.9.6.2安装配置
- Java 中的异常处理机制的简单原理和应用?
- java基础复习之五:字符及常用转义字符
- portaudio示例
- SqlServer中创建SqlServer连接服务器