
linux驱动
文章平均质量分 71
cbl709
这个作者很懒,什么都没留下…
展开
-
ioctl与unlocked_ioctl区别
今天调一个程序调了半天,发现应用程序的ioctl的cmd参数传送到驱动程序的ioctl发生改变。而根据《linux设备驱动》这个cmd应该是不变的。因为在kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针,取而代之的是unlocked_ioctl ,所以我怀疑二者是不是兼容的。上网查了一些资料,很多文章只是泛泛谈了一下,说在应用程原创 2012-02-26 17:02:10 · 35642 阅读 · 2 评论 -
linux 内核定时器编程
1.linux内核定时器基本结构和函数1)struct timer_list 一个struct timer_list对应了一个定时器。#include 以下列出常用的接口:struct timer_list { /*....*/ unsigned long expires;//定时器服务函数开始执行时间 void (*function)(unsigne原创 2012-03-13 17:14:24 · 5738 阅读 · 1 评论 -
Unable to handle kernel paging request at virtual address错误的解决
今天写了一个触摸屏的驱动程序,在卸载模块时出现oops,主要信息如下 Unable to handle kernel paging request at virtual address cc33cc33……pc is at kfree+0x44/0xd4……经过分析,是因为对内存越界访问//以下代码导致oops,原因是越界访问ts_dev.buf[wr_pt].x=原创 2012-07-29 15:39:47 · 26771 阅读 · 0 评论