![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux驱动开发
lovebeyond1014
这个作者很懒,什么都没留下…
展开
-
关于file_operations结构体
结构体file_operations在头文件 linux/fs.h中定义,用来存储驱动内核模块提供的对 设备进行各种操作的函数的指针。该结构体的每个域都对应着驱动内核模块用来处理某个被请求的 事务的函数的地址。 举个例子,每个字符设备需要定义一个用来读取设备数据的函数。结构体 file_operations中存储着内核模块中执行这项操作的函数的地址。一下是该结构体 在内核2.6.5中看起来的转载 2013-06-02 16:44:51 · 813 阅读 · 0 评论 -
Linux的用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目转载 2014-01-09 19:41:29 · 851 阅读 · 0 评论 -
Ubuntu12.04扩展Home分区解决方法
知识背景: 1、MBR最多支持4个主分区,除了主分区以外所有的分区都是拓展分区,所以拓展分区也只有一个,拓展分区算是一个主分区,逻辑分区是拓展分区的一部分,所以只要你有一个拓展分区,逻辑分区没有限制。MBR支持2T硬盘,GPT格式则更大,更重要的是支持128个分区。格式转换方法:用系统盘引导后,shift+F10进入CMD.相关指令如下: list disk/select disk x/Cle原创 2013-12-20 12:21:25 · 4404 阅读 · 0 评论 -
编译Linux内核(下)---KConfig、Makefile详解以及ARM平台Linux内核的编译
本文主要介绍Linxu2.6的内核配置系统。 如果你浏览一下源代码目录,就可以发现源码目录及其子目录中有很多的KConfig文件和Makefile文件。这些文件什么作用呢?正是这些文件组成了Linux2.6的内核配置系统。 一、make menuconfig的背后------KConfig文件的组织 有没有想过,我们make menucon转载 2013-11-15 00:55:09 · 1264 阅读 · 0 评论 -
关于ioctl幻数构造
在编写ioctl 代码之前,需要选择对应不同命令的编号。为了防止对错误的设备使用正确的命 令,命令号应该在系统范围内唯一,这种错误匹配并不是不会发生,程序可能发现自己正在试图对 FIFO 和 audio 等 这类非串行设备输入流修改波特率,如果每一个 ioctl 命令都是唯一的,应用程序进行这种操作时就 会得到一个 EINVAL 错误,而不是无意间成功地完成了意想不到的操作。 要转载 2013-11-14 18:48:34 · 1745 阅读 · 0 评论 -
Linux内核中的Kconfig、Makefile、.config
首先我们来学习什么Makefile,什么是Kconfig ,什么是.config Makefile:一个文本形式的文件,其中包含一些规则告诉make编译哪些文件以及怎样编译这些文件。 Kconfig:一个文本形式的文件,其中主要作用是在内核配置时候,作为配置选项。 .config:文件是在进行内核配置的时候,经过配置后生成的内核编译参考文转载 2013-11-14 19:17:27 · 1106 阅读 · 0 评论 -
常用Nand Flash 指令
指令 功能 nand info 显示可使用的 Nand Flash nand device [dev] 显示或设定当前使用的 Nand Flash nand read addr off size Nand Flash 读取命令,从 Nand 的 off 偏移地 址处读取 size 字节的数据到 SD转载 2013-06-26 16:38:45 · 2436 阅读 · 0 评论 -
ubuntu下打开txt文件乱码的解决方法
终端输入 sudo apt-get install dconf-tools 安装,然后输入sudo dconf-editor调出dconf-editor 依次点开 org->gnome->gedit->prefrences->encoding中的auto-detected的value改为:['GB18030', 'GB2312', 'GBK', 'UTF-8', 'CURRENT'转载 2013-06-25 16:18:09 · 1066 阅读 · 0 评论 -
insmod--invalid module format错误原因
附:解决思路http://blog.csdn.net/zhenxisuiyuan/article/details/5570490原创 2013-06-13 22:38:32 · 1262 阅读 · 0 评论 -
Linux系统编程--read/write
read/write read函数从打开的设备或文件中读取数据。 #include ssize_t read(int fd, void *buf, size_t count); 返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read返回0 参数count是请求读取的字节数,读上来的数据保存在缓冲区buf中,同时文件的当前读转载 2013-06-02 23:28:13 · 964 阅读 · 0 评论 -
理解inode
inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。 下面就是我的inode学习笔记,尽量保持简单。 =================================== 理解inode 作者:阮转载 2013-06-02 17:01:35 · 915 阅读 · 0 评论 -
devfs、sysfs、udev介绍
一、devfs linux下有专门的文件系统用来对设备进行管理,devfs和sysfs就是其中两种。在2.6内核以前一直使用的是devfs,devfs挂载于/dev目录下,提供了一种类似于文件的方法来管理位于/dev目录下的所有设备,我们知道/dev目录下的每一个文件都对应的是一个设备,至于当前该设备存在与否先且不论,而且这些特殊文件是位于根文件系统上的,在制作文件系统的时候我们就已经建立了这些转载 2013-06-03 00:06:07 · 863 阅读 · 0 评论 -
container_of 理解
问题:如何通过结构中的某个变量获取结构本身的指针??? 关于container_of见kernel.h中: /** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the member. * @type: the typ转载 2013-06-02 20:35:17 · 835 阅读 · 0 评论 -
Linux 命令 alternatives和update-alternatives
转一: . alternatives Linux代码 alternatives version 1.3.13.5.EL4 - Copyright (C) 2001 Red Hat, Inc. This may be freely redistributed under the terms of the GNU Public License.转载 2014-01-09 13:50:40 · 1223 阅读 · 0 评论