广州致远电子有限公司 Tel: (020) 22644399 Fax: (020) 38601859 http:// www.zyinside.com
1
第1章 I
2
C 总线控制器驱动说明书
1.1 驱动使用说明
S3C2410A 微控制器内嵌了一个 I
2
C 总线控制器。在 Linux 操作系统中,该控制器的字
符型驱动包括以下四个模块,它们对应的源程序及简介如表 1.1 所示。
表 1.1 I
2
C 总线控制器驱动模块
模块 源程序 简 介
i2c-dev i2c-dev.c
I
2
C 总线字符型驱动,与具体使用的 I
2
C 控制器无关
i2c-core i2c-core.c
I
2
C 总线操作核心函数,与具体使用的 I
2
C 控制器无关
i2c-algo-s3c2410 i2c-algo-s3c2410.c
S3C2410A I
2
C 总线控制器 I
2
C 驱动算法,与具体的控制器相关
i2c-s3c2410 i2c-s3c2410.c
S3C2410A I
2
C 总线控制器硬件抽象层,与具体的控制器相关
以上四个模块的关系是上层与下层的关系,它们之间的互相调用如图 1.1 所示。本 I
2
C
总线控制器驱动模块更详细的说明请见配套光盘本节目录下的《I2C 总线控制器驱动说明
书》。
i2c-dev
i2c-core
i2c-algo-s3c2410
i2c-s3c2410
上层
下层
图 1.1 I
2
C 总线控制器驱动各模块之间的关系
当需要使用 I
2
C 总线控制器驱动模块时,可以使用 I
2
C 总线控制器驱动的设备管理文件
loadi2c,其内容如程序清单 1.1 所示。本管理文件运行后,将自动在 Linux 的/dev/目录下创
建设备节点 i2c。
程序清单 1.1 loadi2c 文件内容
#!/bin/sh
rmmod i2c-s3c2410.ko (1)
rmmod i2c-algo-s3c2410.ko (2)
rmmod i2c-dev.ko (3)
rmmod i2c-core.ko (4)
insmod i2c-core.ko (5)
insmod i2c-dev.ko (6)
insmod i2c-algo-s3c2410.ko (7)
sleep 1 (8)
insmod i2c-s3c2410.ko (9)
延时 1 秒等待模块
i2c-algo-s3c2410
初始化完成