Linux Driver
文章平均质量分 64
wzz_momo
这个作者很懒,什么都没留下…
展开
-
PCI设备的地址空间
PCI设备的地址空间 PCI设备上有三种地址空间:PCI的I/O空间、PCI的存储空间和PCI的配置空间。CPU可以访问PCI设备上的所有地址空间,其中I/O空间和存储空间提供给设备驱动程序使用,而配置空间则由Linux内核中的PCI初始化代码使用。内核在启动时负责对所有PCI设备进行初始化,配置好所有的PCI设备,包括中断号以及I/O基址,并在文件/proc/pci中列出所有找到的原创 2011-10-23 20:13:07 · 948 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----阻塞与非阻塞型操作
【Linux设备驱动程序(第三版)】----阻塞与非阻塞型操作pipi.c#include #include #include #include #include //file_operations, file#include //proc#include原创 2011-07-08 09:56:12 · 624 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----ioctl
【Linux设备驱动程序(第三版)】----ioctlscull.c#include #include #include #include //file_operations, file#include //cdev#include //copy_to_use原创 2011-07-07 14:27:37 · 655 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----驱动调试Proc
【Linux设备驱动程序(第三版)】----驱动调试ProcScull.c#include #include #include #include //file_operations, file#include //cdev#include原创 2011-07-06 17:14:02 · 1372 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----Scull
【Linux设备驱动程序(第三版)】----ScullScull.c#include #include #include #include //file_operations, file#include //cdev#include //c原创 2011-07-06 16:39:26 · 912 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----重要的数据结构
【Linux设备驱动程序(第三版)】----重要的数据结构1、file_operations:对文件操作的集合2、file:代表一个打开的文件。其中有一个指针成员指向file_operations结构3、inode:在内部表示文件。对单个文件,可能会有许多个表原创 2011-07-06 13:41:24 · 418 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----简单休眠 Sleepy
【Linux设备驱动程序(第三版)】----简单休眠 Sleepysleepy.c#include #include #include #include #include #include //file_operations, file#include原创 2011-07-07 15:47:23 · 784 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----完成量completion
【Linux设备驱动程序(第三版)】----完成量completioncomplete.c#include #include #include #include #include #include //file_operations, file#inclu原创 2011-07-07 10:17:47 · 752 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----模块参数
【Linux设备驱动程序(第三版)】----模块参数HelloWorldParam.c#include #include #include MODULE_LICENSE("Dual BSD/GPL");static char *whom原创 2011-07-06 12:08:30 · 706 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----HelloWorld
HelloWorld.c#include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "Hello,原创 2011-07-06 10:34:42 · 557 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----异步通知
【Linux设备驱动程序(第三版)】----异步通知scullp.c#include #include #include #include #include //file_operations, file#include //proc#include原创 2011-07-08 10:13:32 · 599 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----设备文件的访问控制:独享设备
【Linux设备驱动程序(第三版)】----设备文件的访问控制:独享设备complete.c#include #include #include #include #include #include //file_operations, file#incl原创 2011-07-08 10:49:22 · 958 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----延迟:让出处理器
【Linux设备驱动程序(第三版)】----延迟:让出处理器jit.c#include #include #include #include #include #include #include #include #include #inclu原创 2011-07-08 13:39:49 · 645 阅读 · 0 评论 -
CHA1:第一个驱动
第一个驱动demo.h#ifndef _DEMO_H_#define _DEMO_H_#include /* needed for the _IOW etc stuff used later *//******************************原创 2011-07-25 15:09:24 · 778 阅读 · 0 评论 -
好!今天开始研读《嵌入式Linux驱动程序设计从入门到精通》!
如题!!!!主编:冯国进清华大学出版社。原创 2011-07-22 14:12:59 · 1261 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----定时器:Timer
【Linux设备驱动程序(第三版)】----定时器:Timerjit.c#include #include #include #include #include #include #include #include #include #incl原创 2011-07-08 14:40:47 · 1801 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----延迟:超时(schedule_timeout)
【Linux设备驱动程序(第三版)】----延迟:超时(schedule_timeout)jit.c#include #include #include #include #include #include #include #include #i原创 2011-07-08 13:56:30 · 4835 阅读 · 1 评论 -
【Linux设备驱动程序(第三版)】----获取当前时间
【Linux设备驱动程序(第三版)】----获取当前时间jit.c #include #include #include #include #include #include #include #include #include #includ原创 2011-07-08 12:06:37 · 2645 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----延迟:超时(wait_event_interruptible_timeout)
【Linux设备驱动程序(第三版)】----延迟:超时(wait_event_interruptible_timeout)jit.c#include #include #include #include #include #include #include原创 2011-07-08 13:50:58 · 4938 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----高速缓存
【Linux设备驱动程序(第三版)】----高速缓存HelloWorld.c#include #include #include #include //file_operations, file#include #include #include #i原创 2011-07-08 17:05:34 · 771 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----忙等待
【Linux设备驱动程序(第三版)】----延迟:忙等待jit.c #include #include #include #include #include #include #include #include #include #includ原创 2011-07-08 13:32:49 · 1542 阅读 · 0 评论 -
【Linux设备驱动程序(第三版)】----tasklet
【Linux设备驱动程序(第三版)】----taskletjit.c#include #include #include #include #include #include #include #include #include #includ原创 2011-07-08 15:07:56 · 950 阅读 · 0 评论 -
【转】Linux驱动修炼之道-LCD背光与gpio控制
下图是LCD的引脚截图,GPG4是复用引脚,可以发送电源使能信号。GPIO的程序很简单,这里不再赘述。 驱动程序:#include #include #include #include #include #include #include #include #include int MYGPI转载 2011-06-30 14:39:00 · 1616 阅读 · 0 评论 -
在Linux下编译Windows版本的adb和fastboot
在Linux下编译Windows版本的adb和fastboot 1. 执行:apt-get install mingw32 安装了linux-windows交叉编译环境mingwin2. 执行:. build/envsetup.sh3. 执行choosecombo,选择各个参数 这两步设置了一些编译参数和环境变量,按照你正常编译and原创 2011-06-30 14:05:00 · 2270 阅读 · 0 评论 -
【转】Linux驱动修炼之道-按键
按键程序使用了驱动的很多知识。有中断,阻塞,等待队列,linux设备驱动模型等。使用中断处理的步骤是:向内核注册中断 实现中断处理函数。 安装中断的函数是:int request_irq(unsigned int irq, irqreturn_t (*handler) (int, void*, struct pt_regs *), unsigned lo转载 2011-06-30 11:22:00 · 675 阅读 · 0 评论 -
【转】关于Linux静态库和动态库的分析
关于Linux静态库和动态库的分析1.什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。2.库的种类linux下的库有两种:静态库和共享库(动态库)。二者的不同点在于代码被载入的时刻不同。静态库的代转载 2011-06-12 14:27:00 · 536 阅读 · 0 评论 -
【转】中断触发方式的比较
中断触发方式的比较在这里对中断的触发方式进行介绍,不同的触发方式应用场合是不同的。一般中断分为电平触发和沿触发两种方式。 沿触发: 这是很最常见的触发方式,我们可以用数字电路的方法来解释它的特性。边触发应该应触发器来描述: 输入引脚(当作触发器的CLK) ----> 触发器------> 中断控制器 ,当输入引脚的相应的沿到来时,就会将触发器置1,并触发中断,触发器会一直保持电平1转载 2011-06-13 16:57:00 · 6947 阅读 · 0 评论 -
【转】对const关键字的理解
对const关键字的理解 目前在进行C语言补习时,发现很多的同学对于const这个关键字的理解存在很大的误解。现在总结下对这个关键字理解上的误区,希望在以后的编程中,能够灵活使用const这个关键字。1、 const修饰的变量是常量还是变量 对于这个问题,很多同学认为const修饰的变量是不能改变,结果就误认为该变量变成了常量。那么对于const修饰的变量该如何理解那?转载 2011-06-12 16:58:00 · 531 阅读 · 0 评论 -
好!开博了!
今天开博了!同时也宣告我将进军Linux Driver!!!加油吧!!!原创 2011-06-09 10:44:00 · 485 阅读 · 0 评论 -
【转】【C/C++语言入门篇】-- 位运算
【C/C++语言入门篇】-- 位运算 回顾之前的篇幅,C语言的主体部分基本已经介绍完了。之所以没有介绍C++的相关特性是因为在之前的文章中C和C++在这些方面都有共性,所以在面向对象之前。我们先把这些共性给介绍完。也就是说在介绍面向对象之前,所有的文章都是CC++中都能使用的。从这点上来看,现在正极力奋斗于C++战线上的初学者还是很有用处的。本篇继续沿着这条路线,到本篇为止包括本篇转载 2011-06-11 08:21:00 · 614 阅读 · 0 评论 -
Android Alarm会唤醒系统,但不会唤醒屏幕!
之前一直有个误区,认为Alarm会唤醒屏幕,但一直也没有时间验证,今天终于验证了,Alarm会唤醒系统,但不会唤醒屏幕! 记录之!!原创 2011-06-09 13:58:00 · 4186 阅读 · 1 评论 -
【转】linux2.6.28-tty设备驱动学习
linux2.6.28-tty设备驱动学习在Linux系统中,终端是一种字符设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写,Teletype是最早出现的一种终端设备,很像电传打字机,是由Teletype公司产生的。Linux系统包含以下几类终端设备: 1、串行终端设备(/dev/ttySn).它是使用计算机串行端口连接的终端设备,也就是我们主板上转载 2011-06-12 13:47:00 · 2347 阅读 · 1 评论 -
【转】Linux驱动修炼之道-platform
Linux驱动修炼之道-platform首先看一下我的系统中都有什么设备挂在了platform虚拟总线上: hacker@hacker:~/linux-2.6.30.4$ cd /sys/bus/platform/hacker@hacker:/sys/bus/platform$ tree.|-- devices| |-- Fixed MDIO bus.0 -> ..转载 2011-06-10 13:59:00 · 818 阅读 · 0 评论 -
【转】嵌入式时代已经来临,你还在等什么?---循序渐进学习嵌入式开发技术
嵌入式时代已经来临,你还在等什么? ---循序渐进学习嵌入式开发技术最近经常有用人单位给我打来电话,问我这有没有嵌入式Linux方面的开发人员,他们说他们单位急需要懂得在嵌入式linux环境下的软件开发人员,我回答说,现在每年毕业的大学生那么多,还招不到合适的软件开发人员吗?他跟我说,毕业大学生虽然多,但大部分都能力不够,不能达转载 2011-06-10 11:21:00 · 1350 阅读 · 2 评论 -
【转】Linux驱动中的platform
Linux驱动中的platform 从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device 和 platform_driver 。Linux 中大部分的设备驱动,都可以使用这套机制,设备用 platform_device 表示;驱动用 platform_driver 进行注册。 Linux platform driver 机制和传统的转载 2011-06-12 16:52:00 · 527 阅读 · 0 评论 -
【转】C语言静态函数库的制作和使用方法
C语言静态函数库的制作和使用方法一.库函数简介: C语言中有一些函数会执行一些标准任务,可以事先对这些函数进行编译,然后将他们放置在一些特殊的目标代码文件中,这些目标代码文件称为库。库文件中的函数可以通过连接程序与应用程序进行链接,这样就不用在每次执行程序时都对这些通用的函数进行编译了。 标准的C函数库名称为libc,包含了诸如内存管理或者输入输出操作的基本转载 2011-06-12 17:35:00 · 949 阅读 · 0 评论 -
set_bit()
extern __inline__ int set_bit(int nr,long * addr);将addr的第nr位置为1 假设*addr = 0, nr = 3;则执行结果为1000(二进制数)原创 2011-06-12 18:55:00 · 3056 阅读 · 0 评论 -
【转】Linux驱动修炼之道-流水灯
module.h包含可装载模块需要的大量符号和函数定义,包含init.h的目的是指定初始化和清除代码,struct file是在中定义的。注册字符设备使用int register_chrdev(unsigned int major, const char *name, struct file_operations *fops);移除字符设备使用int unregister_chrdev(unsig转载 2011-06-30 09:57:00 · 546 阅读 · 0 评论 -
【转】 Android转屏时禁止调用onCreate
Android转屏时禁止调用onCreateAndroid设备屏幕自动横竖旋转时,每次都会重新调用onCreate函数进行初始化操作,如果遇到加载数据量稍微大点的时候就需要等待很长时间,用户体验较差,其实可以通过配置AndroidManifest文件来改变程序的执行流程,从而避免旋屏时onCreate函数的多次调用。1. 修改AndroidManifest.xml文件,在activ转载 2011-06-24 10:08:00 · 1369 阅读 · 0 评论 -
理解kcm文件的意义
理解kcm文件的意义# keycode display number base caps fn caps_fn A A 2 a A # 0x00B原创 2011-06-22 14:49:00 · 2835 阅读 · 1 评论