发布时间:2013-06-20 11:54:21
ioctl 在2.6.36被移除老接口:int (*ioctl)(struct inode *node, structfile *filp, unsigned int cmd, unsigned long arg)新接口:long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);long (*compat_ioctl) (struct file *, unsigned int, unsigned long);原因:当ioctl被执行时,它使用big ker.........【阅读全文】
发布时间:2013-06-19 13:54:00
大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...); /* fd:文件描述符cmd:控制命令...:可选参数:插入*argp,具体内容依赖于cmd */ 用户程序所作的只是通过命令码告诉驱动.........【阅读全文】
发布时间:2013-06-03 14:49:25
作者:刘洪涛,华清远见嵌入式学院讲师。四、在内核里写i2c设备驱动的两种方式在《实例解析linux内核I2C体系结构(1)》一文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这.........【阅读全文】
发布时间:2013-06-03 14:48:43
实例解析linux内核I2C体系结构(1)作者:刘洪涛,华清远见嵌入式学院讲师。一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有:&.........【阅读全文】