- 博客(10)
- 资源 (1)
- 收藏
- 关注
转载 input 子系统的分析与学习(三)-----input子系统中的结构体
继续写input子系统。在input子系统中,也有client\handle\handler\device等概念。在内核的设计中这种设计有很多。之前在i2c的实现中,就有client\device等概念。有一篇博客写得很好,这里转载一下。http://blog.chinaunix.net/uid-20672257-id-3149668.html 内核的输入子系统是对分散的,多种不同
2013-06-23 10:01:39 1542
原创 input 子系统的分析与学习(二)
下面分析一下自己实现的光传感器的驱动。先附上代码: #include #include #include #include #include #include #include #include #include #define EVENT_TYPE_LIGHT ABS_MISC#define LIGH
2013-06-23 00:27:30 3491 1
原创 input 子系统的分析与学习(一)
依然不明白struct device 中的parent是什么意思?最近在写一个光感传感器设备的驱动。不知为何上层的接口是通过input设备实现的。其实我们自己也可以讲某一个输入设备 如传感器等写为一个字符设备,但是那样的话,我们需要自己实现open\read\write等方法,需要自己实现阻塞。但是通过实现成一个input设备,我们可以把注意力集中到input设备要汇报的事件上面,其他的工
2013-06-22 22:08:17 1318
原创 mini2440 uboot的使用经历
记录一下自己在mini2440上面 使用uboot的曲折的经历。首先是使用了买板子时自带的代码: u-boot-1.1.6。但是编译时,总是提示有错误。也不知道这个版本是不是tekk的那个版本,自己修改了一些地方,但是感觉uboot的编译体系与一般的开源软件不相同,编译时,总是提示 有函数的实现找不到,即undefined reference to _,,,,网上说需要在makefile中添加
2013-06-15 23:55:34 3158
原创 mini2440 I2C驱动的分析与学习(三)
最后说一下i2c和smbus的关系。首先在一个链接中详细的介绍了smbus协议。http://www.mjmwired.net/kernel/Documentation/i2c/smbus-protocol。我理解的大意就是,i2c是smbus的一个子集,也就是说凡是支持i2c的设备应该都是支持smbus协议的。在smbus协议中,定义了几种主机与外设交互的方法。支持i2c协议的设备可
2013-06-14 14:35:59 1326
原创 mini2440 I2C驱动的分析与学习(二)
接着分析i2c的数据传输流程。首先是打开i2c设备,比如open("/dev/i2c/0"),在内核调用下面函数static int i2cdev_open(struct inode *inode, struct file *file){ unsigned int minor = iminor(inode); struct i2c_client *client; struc
2013-06-14 14:20:38 1514
原创 mini2440 I2C驱动的分析与学习(一)
花了近一个星期的时间学习I2C的驱动,将心得描述如下。I2C是一个典型的较简单的子系统,比较适合学习,因为I2C协议要比PCI等等简单得多。在mini2440上用I2C连了一块EEPROM的芯片。因此,在mini2440上面说I2C的驱动,主要是说怎么样通过I2C在这块EERPOM上面读写数据。有点像是这个EEPROM的驱动。先分析几个相关的结构体。其实有时觉得C语言就是以结构体为中心的,
2013-06-14 14:06:10 2324
原创 mini2440上dm9000驱动分析(三)
下面在重点分析几个dm9000收发包以及中断函数。/* * Hardware start transmission. * Send a packet to media from the upper layer. */static intdm9000_start_xmit(struct sk_buff *skb, struct net_device *dev){
2013-06-04 21:31:22 1387
原创 mini2440上dm9000驱动分析(二)
二、下面说一下 mini2440_dm9k_resource 中的几个地址是怎么计算得来的。地址的计算在驱动移植中也是一个重要的部分。地址的计算在网上的博客中很少有介绍的,自己看了很久才琢磨明白。DM9000 MINI2440 功能描述SD0 DATA0 数据信号 | |SD15 DATA15 数据信号CMD ADDR2 识别为地址还是数据
2013-06-04 20:16:26 1447
原创 mini2440上dm9000驱动分析(一)
先提个问题:看到有的网卡是连在ISA总线或者是PCI总线上的,那在mini2440上dm9000和CPU是直接相连的,这个算是什么总线? 没弄明白这个问题 首先是平台设备的register和unregister. static int __initdm9000_init(void){#if defined(CONFIG_ARCH_S3C2410) unsigned i
2013-06-04 19:58:30 1299
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人