一片冰心在玉壶

那时我们有梦,关于文学,关于爱情,关于穿越世界的旅行, 如今我们深夜饮酒,杯子碰到一起,都是梦破碎的声音. 交往都是初逢,爱情都在心里,往事都在梦中, 希望都带着注释,信仰都带着呻吟. 总有善意的光逃避现世的繁琐而寻找片刻的安宁, 也许,就是你凝视这里的眼睛

博客园 首页 联系 订阅 管理

2011年7月6日 #

摘要: 定时器的使用非常方便,只需要执行一些初始化的操作,设置一个超时时间,指定超时发生时执行的函数,然后激活定时器就可以了。它的处理和工作队列还是有点类似的。其实,在Linux内核开发中,很多的操作都是类似的。还有一点需要注意的,内核定时器并不是周期运行,它在超时后自动销毁。因此,如果要实现周期轮询,就需要在定时器执行函数返回前再次激活定时器。下面看看一个实现轮询操作的小例子: struct timer_list polling_timer; init_timer(&polling_timer);polling_timer.data = (unsigned long)something;po 阅读全文
posted @ 2011-07-06 09:09 Sankye 阅读(3652) 评论(0) 推荐(0) 编辑

摘要: 第一次在X86下写LINUX驱动,具体来说应该是IO驱动。X86的IO是独立编址的。所以用OUTB和INB直接操作IO地址就可以。这点跟ARM等其它CPU不一样。。数据采集采用DMA的传输方式。。2.4下可调的调式代码如下:#ifndef__KERNEL__#define__KERNEL__#endif#ifndefMODULE#defineMODULE#endif#include<linux/init.h>#include<linux/module.h>#include<linux/kernel.h>#include<linux/types.h> 阅读全文
posted @ 2011-07-06 08:54 Sankye 阅读(421) 评论(0) 推荐(0) 编辑