linux
xpy123
这个作者很懒,什么都没留下…
展开
-
Kconfig详解
当执行#make menuconfig时会出现内核的配置界面,所有配置工具都是通过读取"arch/$(ARCH)Kconfig"文件来生成配置界面,这个文件就是所有配置的总入口,它会包含其他目录的KconfigKconfig的作用:Kconfig用来配置内核,它就是各种配置界面的源文件,内核的配置工具读取各个Kconfig文件,生成配置界面供开发人员配置内核,最后生成配置文件.config转载 2015-06-11 11:08:56 · 254 阅读 · 0 评论 -
_IO, _IOR, _IOW, _IOWR 宏的用法与解析 ( ioctl设备控制---定义命令 )
今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:转载 2015-06-11 12:19:23 · 616 阅读 · 0 评论 -
Linux内核中的Kconfig、Makefile、.config
毛毛同学今天学习了驱动程序模块的安装与卸载,在这个过程中毛毛发现,内核的目录中有许多的Kconfig、Makefile文件,但是毛毛不知道为什么需要这些文件,这些文件又是用来做什么的。下面我们就和陶毛毛同学一起来学习下这些文件的作用是什么。 首先我们来学习什么Makefile,什么是Kconfig ,什么是.config Makefile:一个文本形式的文件转载 2015-06-11 10:51:00 · 301 阅读 · 0 评论 -
Linux串口驱动
linux 串口 驱动 理解 一、核心数据结构串口驱动有3个核心数据结构,它们都定义在1、uart_driveruart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心tty_driver)struct uart_dr转载 2015-06-12 10:03:11 · 666 阅读 · 0 评论 -
linux输入子系统分析
首先说明一下,本文是基于Linux-2.6.38版本内核来分析Linux输入子系统架构和原理的。这阵子本来没有打算花时间来分析Linux input system的,然而当在研究S3C6410触摸屏驱动的时候悲剧不期而至,内核中并没有实现6410的触摸屏驱动,不过有关于S3C2410触摸屏的驱动,往s3c2410_ts.c文件里面一看,居然实现过程中用到了输入子系统这一神马机制。瞄了下代码,流程基转载 2015-06-13 17:38:39 · 385 阅读 · 0 评论 -
Linux FrameBuffer详解
1. 背景知识在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此学习LCD的应用很有实际意义!LCD工作的硬件需求:要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很转载 2015-06-13 19:20:27 · 3928 阅读 · 0 评论 -
自旋锁和互斥体
2.5 内核中的并发 随着多核笔记本电脑时代的到来,对称多处理器(SMP)的使用不再被限于高科技用户。SMP和内核抢占是多线程执行的两种场景。多个线程能够同时操作共享的内核数据结构,因此,对这些数据结构的访问必须被串行化。 接下来,我们会讨论并发访问情况下保护共享内核资源的基本概念。我们以一个简单的例子开始,并逐步引入中断、内核抢占和SMP等复杂概念。 2.5.1转载 2015-06-15 11:50:00 · 492 阅读 · 0 评论 -
块设备驱动注册和注销、加载与卸载、块设备驱动的I/O请求
块设备驱动注册和注销块设备驱动的第一个任务就是将他们自己注册到内核中,其函数原型如下: int register_blkdev(unsigned int major, const char* name);major参数是块设备要使用的主设备号,name为设备名,它会在/proc/devices中被现实.如果major为0,内核会自动分配一个新的主设备号,并由该函数返回转载 2015-06-15 11:32:26 · 732 阅读 · 0 评论