Linux驱动/内核
文章平均质量分 75
uvsjoh
旅游、摄影、探险、游戏、运动。
展开
-
驱动笔记
驱动参数的配置方法:1 编译时间通过改变的宏 SCULL_QUANTUM 和 SCULL_QSET, 2 在模块加载时设定3 使用 ioctl 在运行时改变当前值和缺省值.原创 2011-02-19 17:06:00 · 350 阅读 · 0 评论 -
文件操作(驱动接口)
来源《Linux设备驱动程序第三版》struct module *owner第一个 file_operations 成员根本不是一个操作; 它是一个指向拥有这个结构的模块的指针. 这个成员用来在它的操作还在被使用时阻止模块被卸载. 几乎所有时间中, 它被简单初始化为 THIS_MODULE, 一个在 中定义的宏.loff_t (*llseek) (struct file *, loff_t, int);llseek 方法用作改变文件中的当前读/写位置, 并且新位置作为(正的)返回值. loff_t 参数是一转载 2011-02-19 15:45:00 · 504 阅读 · 0 评论 -
RTC驱动
<br />RTC功能:<br />RTC time: 系统关机后保持计时,当系统启动根据RTC时间来更新系统时间,之后系统时间独自运行。关机时把系统时间更新至RTC,因为系统时间精度比较高,相对准确一些。<br />RTC alarm: 当系统休眠时,用来唤醒系统。比如定时开关机。<br />RTC watchdog: 系统宕机时,自动重启系统。<br /><br />The sysfs interface under /sys/class/rtc/rtcN provides access原创 2011-03-24 10:36:00 · 1186 阅读 · 0 评论 -
kernel list
<br />头文件:#include <linux/list.h><br />struct list_head {<br /> struct list_head *next, *prev;<br />};<br /><br />struct my_list {<br /> struct list_head list;<br /> void *mydata;<br />};<br />list相当于一条线,把一组数据串起来,形成一个循环原创 2011-05-19 09:31:00 · 443 阅读 · 0 评论 -
去抖算法
<br /> <br />#define NR_SAMPHISTLEN 4static const unsigned char weight [NR_SAMPHISTLEN - 1][NR_SAMPHISTLEN + 1] ={ /* The last element is pow2(SUM(0..3)) */ { 5, 3, 0, 0, 3 }, /* When we have 2 samples ... */ { 8, 5, 3, 0, 4 }, /* When we have 3原创 2011-04-12 12:12:00 · 1089 阅读 · 0 评论 -
linux 中断 -- 片段记录
Linux 中断 -- 片段记录系统中断线是有限的。能由硬件直接触发的中断数量有限。但系统有级连分发机制。即可以在一个中断handler中去分发以它为父IRQ的子IRQ。要支持一些IRQ,需要下面几个步骤:1 定义一个struct irq_chip,主要实现下面一些Callbacks:void (*ack)(unsigned int irq);void (*mask)(unsign原创 2011-06-08 23:30:00 · 628 阅读 · 0 评论