在此Linux驱动开发采用网络的方式,介绍两种驱动开发的方法:一.驱动编译到内核 1.先选择一个放置驱动代码的位置,例:drivers/char/xxx.c 2.在drivers/char/Kconfig文件添加以下内容: menu " xxx suppor...
分类:
系统相关 时间:
2014-08-28 13:12:39
阅读次数:
286
:设备驱动程序的作用
从一个角度看,设备驱动程序的作用在于提供机制,而不是策略。在编写驱动程序时,程序员应该特别注意下面这个基本概念:编写访问硬件的内核代码时,不要给用户强加任何特定策略。因为不同的用户有不同的需求,驱动程序应该处理如何使硬件可用的问题,而将怎样使用硬件的问题留给上层应用程序。
从另一个角度来看驱动程序,它还可以看作是应用程序和实际设备之间的...
分类:
系统相关 时间:
2014-08-27 09:28:27
阅读次数:
250
一>:设置测试系统
首先准备好一个内核源码树,构造一个新内核,然后安装到自己的系统中。
二>:HelloWorld模块
#include //定义了驱动的初始化和退出相关的函数
#include //定义了内核模块相关的函数、变量及宏
MODULE_LICENSE("Dual BSD/GPL"); //该宏告诉内核,该模块...
分类:
系统相关 时间:
2014-08-27 09:27:57
阅读次数:
320
.主设备号和次设备号
对字符设备的访问时通过文件系统内的设备名称进行的。那些设备名称简单称之为文件系统树的节点,它们通常位于/dev目录。字符设备驱动程序的设备文件可通过ls -l命令输出的第一列中的'c'来识别。块设备同样位于/dev下,由字符'b'标识
crw-rw---- 1 root root 253, 0 2013-09-11 20:33 usbmon0
...
分类:
系统相关 时间:
2014-08-27 09:27:49
阅读次数:
346
.并发及其管理
大部分竞态可通过使用内核的并发控制原语,并应用几个基本的原理来避免。第一个规则是,只要可能,就应该避免资源的共享,这种思想的明显应用就是避免使用全局变量。但硬件资源本质上就是共享的,软件资源经常需要对其他执行线程可用。全局变量并不是共享数据的唯一途径,只要我们的代码将一个指针传递给了内核的其他部分,一个新的共享就可能建立。在单个执行线程之外共享硬...
分类:
系统相关 时间:
2014-08-27 09:27:38
阅读次数:
260
中断处理流程如下:
1、发生中断时,CPU执行异常向量vector_irq的代码。
2、在vector_irq里面,最终会调用中断处理的总入口函数asm_do_IRQ。
3、asm_do_IRQ根据中断号调用irq_desc数组项中的handle_irq。
4、hadnle_irq会使用chip成员中的函数来设置硬件,比如...
分类:
系统相关 时间:
2014-08-27 09:27:31
阅读次数:
275
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务;(2)调用注册的设备的suspend的回调函数;(3)按照注册顺序休眠核心设备和使CPU进入休眠态。 冻结进程是内核把进程列表中所有的进程的状态都设置为停止,并且保存下所有进程的上下文。当这些进程被解冻的时候,他们是不知道自...
分类:
系统相关 时间:
2014-08-25 22:41:14
阅读次数:
443
1. Based on linux2.6.32, only for mem(SDR)2. 有兴趣请先参考阅读: 电源管理方案APM和ACPI比较.docLinux系统的休眠与唤醒简介.doc3. 本文先研究标准linux的休眠与唤醒,android对这部分的增改在另一篇文章中讨论4. 基于手上的一个...
分类:
系统相关 时间:
2014-08-25 22:40:55
阅读次数:
403
设备电源管理Copyright (c) 2010 Rafael J. Wysocki, Novell Inc.Copyright (c) 2010 Alan Sternstern@rowland.harvard.edu*****************************************...
分类:
系统相关 时间:
2014-08-25 22:39:34
阅读次数:
290
Run-time PM.每个device或者bus都会向run-time PM core注册3个callbackstruct dev_pm_ops {...int (*runtime_suspend)(struct device *dev);int (*runtime_resume)(struct ...
分类:
系统相关 时间:
2014-08-25 22:37:35
阅读次数:
425