linux驱动 & 内核
qq429205464
这个作者很懒,什么都没留下…
展开
-
linux字符设备驱动的 ioctl 幻数
在Linux字符设备驱动入门(一)中,我们实现了字符设备的简单读写字符功能,接下来我们要在这个基础上加入ioctl功能。首先,我们先来看看3.0内核下../include/linux/fs.h中file_operations结构体的定义:struct file_operations { struct module *owner; loff_t (*llseek) (转载 2012-08-02 11:55:53 · 8367 阅读 · 1 评论 -
linux内核list_head结构的介绍
list_head结构的介绍list_head结构定义在 里,它是一个double linked list的结构。 底下是它的结构宣告: struct list_head {struct list_head *next, *prev;}; 有的人可能看到这样的结构会觉得很奇怪这样的结构可以存放资料吗? 当然是不行的转载 2012-08-03 09:43:58 · 1063 阅读 · 0 评论 -
构造IOCTL命令的学习心得-----_IO, _IOR, _IOW, _IOWR 幻数的理解
在编写ioctl代码之前,需要选择对应不同命令的编号。为了防止对错误的设备使用正确的命令,命令号应该在系统范围内唯一,这种错误匹配并不是不会发生,程序可能发现自己正在试图对FIFO和audio等这类非串行设备输入流修改波特率,如果每一个ioctl命令都是唯一的,应用程序进行这种操作时就会得到一个EINVAL错误,而不是无意间成功地完成了意想不到的操作。 在驱动程序里, ioc转载 2012-08-02 12:51:11 · 40293 阅读 · 7 评论 -
linux内核Jiffies
全局变量jiffies用来记录自系统启动以来产生的节拍的总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。 系统运行时间以秒为单位,等于jiffies/Hz。注意,jiffies类型为无符号长整型(unsigned long),其他任何类型存放它都不正确。将以秒为转载 2012-07-29 15:09:10 · 2306 阅读 · 0 评论 -
Linux系统中/dev/mtd与/dev/mtdblock的区别,即MTD字符设备和块设备的区别
1. /dev/mtdN 是Linux 中的MTD架构中,系统自己实现的mtd分区所对应的字符设备,其里面添加了一些ioctl,支持很多命令,如MEMGETINFO,MEMERASE等。而mtd-util中的flash_eraseall等工具,就是以这些ioctl为基础而实现的工具,实现一些关于Flash的操作。比如,mtd 工具中的 flash_eraseall中的:if (ioctl(转载 2012-08-09 10:39:02 · 901 阅读 · 0 评论 -
64位linux缺少32为安装包记录
1. failed to find the following 32-bit library file: "libstdc++.so.6" $sudo apt-get install lib32stdc++6原创 2015-01-16 15:52:43 · 722 阅读 · 0 评论