【摘要】我们都知道,编写Linux驱动程序,查询一个函数,我们可以用source insight,但是有时候里面注释太少了 ,理解起来有点费时间,对于我这种小白来说,还是得做一些注释笔记,所以本文主要是献给像我这种小白的人用的,大神勿喷~~
1、ARRAY_SIZE
宏,是求设备结构体中设备的个数,
定义在linux/kernel.h中
#define ARRA...
分类:
系统相关 时间:
2015-06-03 15:43:41
阅读次数:
243
linux驱动程序中的异步编程
A
前面介绍的等待队列和轮询编程提供了较好的解决设备访问的机制,但是这些机制都
是由应用程序发起的,都需要应用程序主动访问设备。更完美的方式是由驱动程序主
动通知应用程序,也就是说,当驱动程序满足某些条件后,会主动通知应用程序处理
,这些处理方式有些像面向对象编程的事件,而在linux内核使用的事件是接下来要介
绍的信号。
#include...
分类:
系统相关 时间:
2015-05-29 12:07:48
阅读次数:
146
1、编写任何驱动程序都必须带的头文件
#include :在编写任何模块都需要包含此头文件。该头文件自动包含了 头文件,该头文件包含了宏 MODULE_LICENSE("GPL")的定义。
#include :此头文件也是...
分类:
系统相关 时间:
2015-05-19 19:14:55
阅读次数:
164
万事开头难,最简单的有时却是最难的。学习Linux驱动程序开发,大家都会从hello world的驱动程序开始学习,我也如此,在学习调试该程序时,遇到了很多问题,呵呵,最终得以解决,总结如下:1 内核版本问题,我在最初安装Redhat时,版本为linux-2.4.20-8,创建hello目录,在该目...
分类:
其他好文 时间:
2015-03-22 00:25:44
阅读次数:
178
在编写Linux驱动程序时,我想用某一个引脚做外部中断。但是在调用
int request_irq(unsigned int irq,
void (*handler)(int irq, void *dev_id, struct pt_regs *regs
),
unsigned long irqflags,
const char * devname,
void *dev_id)...
分类:
其他好文 时间:
2015-03-15 10:58:59
阅读次数:
183
原文网址:http://www.cnblogs.com/geneil/archive/2011/12/03/2274684.html现代操作系统有三大特性:中断处理、多任务处理和多处理器。这些特性导致当多个进程、线程或者CPU同时访问一个资源时,可能发生错误,这些错误是操作系统运行所不允许的。在操作...
分类:
系统相关 时间:
2015-01-22 17:33:42
阅读次数:
217
现代操作系统有三大特性:中断处理、多任务处理和多处理器。这些特性导致当多个进程、线程或者CPU同时访问一个资源时,可能发生错误,这些错误是操作系统运行所不允许的。在操作系统中,内核需要提供并发控制机制,对共享资源进行保护。 在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行...
分类:
系统相关 时间:
2015-01-07 23:22:27
阅读次数:
225
linux驱动 例子 自己的驱动, 入门, 加入自己驱动,实测通过,生成模块文件 ko文件,如果在linux内核中编译自己驱动...
分类:
系统相关 时间:
2015-01-07 18:55:52
阅读次数:
286
网络硬件Linux 能够使用具有驱动程序的任何网络硬件。Linux 驱动程序单独地或以可加载模块的形式编译到内核中。Linux 内核默认支持许多流行的网卡。在选择网络硬件时,最好总是使用“硬件兼容性列表”(参见参考资料中的链接)中列出的设备。另外还要使用最新的 Linux 发行版本。一般情况下,如果...
分类:
系统相关 时间:
2014-11-19 12:13:41
阅读次数:
327
终于写出了第一个驱动,还要好好努力。Module_key_led.c#include #include #include #include #include #include #include #include #include #include #include #include #include...
分类:
系统相关 时间:
2014-10-26 18:10:28
阅读次数:
344