语言无关类优质博客PyTab在线手册中心ImportNew廖雪峰的官方网站程序员博客墙操作系统开源世界旅行手册鸟哥的Linux私房菜Linux 系统高级编程The Linux Command Line(中英文版)Linux 设备驱动(第三版)深入分析Linux内核源码UNIX TOOLBOXDock...
分类:
其他好文 时间:
2015-04-23 12:44:16
阅读次数:
284
一、设备驱动的分层思想:以platform设备驱动、input设备驱动为例看看他们在分层思想上的体现
【1】在核心层:一类设备总线通用的功能特性,如果某一设备支持的总线比较特别可以不使用这些功能特性,在自己的设备总线结构体中
进行重载。
例(1)platform核心层:定义在drivers/base/platform.c文件
Linux内核对设备总线先进行了一次全局的抽象,即概括了所有设备...
分类:
系统相关 时间:
2015-04-22 20:47:18
阅读次数:
177
今天意外收到一个消息,真是惊呆我了,博客轩给我发了信息,说是俺的博客文章有特色可以出本书,,这简直让我受宠若惊,俺只是个大三的技术宅,写的博客也是自己所学的一些见解和在网上看到我一些博文以及帖子里综合起来写的,,总之这又给了额外的动力,让自己继续前进,,希望和大家能够分享一些自己的经验,,在最需.....
分类:
系统相关 时间:
2015-04-20 22:24:47
阅读次数:
225
button按键驱动,相对于前面的LED驱动来说。增加了中断服务程序以及等待队列等新知识点。
先上学习的驱动代码。
/*********************************************************************************
* Copyright: (C) 2011 Guo Wenxue
*...
分类:
系统相关 时间:
2015-04-18 17:53:24
阅读次数:
184
并发和竞争发生在两类体系中: 对称多处理器(SMP)的多个CPU 内核可抢占的单CPU系统 访问共享资源的代码区域称为临界区(critical sections),临界区需要以某种互斥机制加以保护。在驱动程序中,当多个线程同时访问相同的资源(critical sections)时(驱动程序中的全局....
分类:
系统相关 时间:
2015-04-17 22:04:47
阅读次数:
230
语言无关类优质博客PyTab在线手册中心ImportNew廖雪峰的官方网站程序员博客墙操作系统开源世界旅行手册鸟哥的Linux私房菜Linux 系统高级编程The Linux Command Line(中英文版)Linux 设备驱动(第三版)深入分析Linux内核源码UNIX TOOLBOXDock...
分类:
其他好文 时间:
2015-04-15 18:41:22
阅读次数:
185
一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一...
分类:
系统相关 时间:
2015-04-15 09:28:39
阅读次数:
273
综述在上一篇介绍了linux驱动的调试方法,这一篇介绍一下在驱动编程中会遇到的并发和竟态以及如何处理并发和竞争。首先什么是并发与竟态呢?并发(concurrency)指的是多个执行单元同时、并行被执行。而并发的执行单元对共享资源(硬件资源和软件上的全局、静态变量)的访问则容易导致竞态(race co...
分类:
系统相关 时间:
2015-04-12 20:55:40
阅读次数:
166
在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动。本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存。 下...
分类:
系统相关 时间:
2015-04-12 16:19:35
阅读次数:
209
1·内核模块: Linux设备驱动属于内核的一部分,Linux内核的一个模块可以以两种方式被编译和加载:(1)直接编译进Linux内核,随同Linux启动时加载;(2)编译成一个可加载和删除的模块,使用insmod加载(modprobe和insmod命类似,但依赖于相关的配置文件),rmmod删除。...
分类:
系统相关 时间:
2015-04-12 16:01:16
阅读次数:
131