前言: linux下platform平台驱动是为了方便隔离bsp与driver,利于移植。体现好代码的高内聚,低耦合。Linux设备驱动模型中,关心总线,设备和驱动三个实体。总线将设备和驱动绑定。在系统每注册一个设备的时候,都会寻找与之相匹配的驱动,相反的,每加载一个驱动的时候,也会寻找与之匹配的....
分类:
系统相关 时间:
2014-11-28 01:01:17
阅读次数:
568
1,软件的设计宗旨呢,是高内聚,低耦合。其意思是一个驱动程序里面,尽量是自己把事情都干完,别跟其他模块或驱动牵扯太多。不然出问题的时候,就不好排查,当然这样也利于移植,只要搞清楚了驱动程序里面的代码,那换个平台,也变得轻松。2,驱动是沟通硬件和应用的桥梁。无操作系统下的驱动一般是由一个h文件和c文件...
分类:
系统相关 时间:
2014-11-26 15:50:26
阅读次数:
228
由于项目上要用到,于是乎我要学习linux设备驱动的编写,开始的时候还比较清楚,能够对简单的GPIO控制操作实现出来,但是项目上要用到的是SPI和GPIO的输入中断来读取AD的电压值,然后就陷入到了一个庞大的设备代码阅读中去了,尤其是platform device的学习,到现在都还没有理清其中的关系...
分类:
系统相关 时间:
2014-11-25 22:58:33
阅读次数:
287
/**
* Author:hasen
* 参考 :《linux设备驱动开发详解》
* 简介:android小菜鸟的linux
* 设备驱动开发学习之旅
* 主题:时钟
* Date:2014-11-13
*/...
分类:
系统相关 时间:
2014-11-15 11:30:42
阅读次数:
228
/**
* Author:hasen
* 参考 :《linux设备驱动开发详解》
* 简介:android小菜鸟的linux
* 设备驱动开发学习之旅
* 主题:中断与时钟
* Date:2014-11-11
*/...
分类:
系统相关 时间:
2014-11-13 18:58:13
阅读次数:
363
linux中最常用的输入/输出(I/O)模型是同步I/O。在这个模型中,请求发出后,应用就会阻塞,知道请求满足
为止。但是在某些情况下,I/O请求可能需要与其他的进程进行交叠。可移植操作系统接口(POSIX)异步I/O(AIO)
应用程序接口(API)就提供了这种功能。
AIO基本思想是允许进程发起很多的I/O操作,而不用阻塞或者等待任何操作完成。稍后或在接受到I/O操作完成的
通...
分类:
系统相关 时间:
2014-11-11 10:50:53
阅读次数:
313
/**
* Author:hasen
* 参考 :《linux设备驱动开发详解》
* 简介:android小菜鸟的linux
* 设备驱动开发学习之旅
* 主题:异步通知
* Date:2014-11-05
*/...
分类:
系统相关 时间:
2014-11-10 19:59:18
阅读次数:
418
/**
* Author:hasen
* 参考 :《linux设备驱动开发详解》
* 简介:android小菜鸟的linux
* 设备驱动开发学习之旅
* 主题:支持轮询操作的设备驱动
* Date:2014-11-05
*/...
分类:
系统相关 时间:
2014-11-07 14:49:31
阅读次数:
219
/**
* Author:hasen
* 参考 :《linux设备驱动开发详解》
* 简介:android小菜鸟的linux
* 设备驱动开发学习之旅
* 主题:增加了并发控制的设备驱动程序
* Date:2014-11-04
*/
阻塞操作是指在执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后再进行操作。被
挂起的进程进入休眠状态,被从调度...
分类:
系统相关 时间:
2014-11-05 17:21:22
阅读次数:
273
/**
* author:hasen
* 参考:《linux设备驱动开发详解》
*/
1、并发与竞态
并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(软件上的全局变量,静态变量等)的访问则很容易导致竞态(race conditions).
主要的竞态发生在以下几种情况:
(1)对称多处理(SMP)的多个CPU
(2)单CPU内进程...
分类:
系统相关 时间:
2014-11-04 17:33:43
阅读次数:
202