《Linux设备驱动开发详解:基于最新的Linux 4.0内核》china-pub今日上线进入预售阶段: http://product.china-pub.com/4733972...
分类:
系统相关 时间:
2015-08-10 14:49:53
阅读次数:
401
简单的Linux 驱动模块编译,加载过程2010-03-14 14:48:24|分类:Driver|标签:|字号大中小订阅本文记录我的第一个Linux设备驱动程序的编译过程。遇到问题的解决方法。环境:2.4.18-14的内核,Linux内核源码:2.4.18。 Linux内核源码路径:/usr/sr...
分类:
系统相关 时间:
2015-08-08 13:30:30
阅读次数:
152
一、linux之路1.入门篇《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。2.驱动篇《LINUX设备驱动程序》就是网上说的“LDD”,经...
分类:
系统相关 时间:
2015-08-07 18:42:04
阅读次数:
174
7.Linux设备驱动中的并发控制
7.1 并发与竞态
并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问则很容易导致竞态(race conditions)。
1.对称多处理器(SMP)的多个CPU...
分类:
系统相关 时间:
2015-08-05 16:28:06
阅读次数:
209
4.Linux内核模块
4.1 Linux内核模块简介
如果把所有需要的功能都编译到Linux内核。这回导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,将不得不重新编译内核。
现在我们需要的是一种机制使得编译出的内核本身并不需要包含所有功能,而在这些功能需要被使用的时候,其对应的代...
分类:
系统相关 时间:
2015-08-04 11:11:44
阅读次数:
318
转自:qian-xu-fengfile_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了Linux设备驱动程序的工作。在系统内部,I/O设备的存取操作通过特...
分类:
其他好文 时间:
2015-08-04 08:09:54
阅读次数:
134
我们之前介绍过简单的read,write操作,那么会有一个问题:当驱动无法立即响应请求该怎么办?比如一个进程调用read读取数据,当没有数据可读时该怎么办,是立即返回还是等到有数据的时候;另一种情况是进程调用write向设备写数据,如果缓冲区满了或者设备正忙的时候怎么办,是立即返回还是继续等待直到设备可写?这种情况下,一般的缺省做法是使进程睡眠直到请求可以满足为止。本篇就介绍遇到这类问题驱动的处理...
分类:
系统相关 时间:
2015-07-31 16:29:55
阅读次数:
189
1、 typeoftypeof并非ISO C的关键字,而是gcc对C的一个扩展。typeof是一个关键字(类似sizeof),用于获取一个表达式的类型。举个简单的例子:char tt;typeof(tt) cc;则typeof(tt)等价于char,即相当于声明了char cc;2、 offseto...
分类:
系统相关 时间:
2015-07-26 17:18:31
阅读次数:
219
一:Platform总线1.1概述 一个现实的linux设备驱动通常需要挂接在一种总线上,对于本身依附于PCI,USB,IIC,SPI等的设备而言,这自然不是问题,但是在嵌入式系统里面,SOC系统中集成的独立的外设控制器,挂接在SOC内存空间的外设等确不依附于此类总线。基于这一背景,linux发明了...
分类:
系统相关 时间:
2015-07-25 19:43:40
阅读次数:
275
绝对干货~~学习Linux设备驱动开发的过程中自然会遇到字符设备驱动、平台设备驱动、设备驱动模型和sysfs等相关概念和技术。对于初学者来说会非常困惑,甚至对Linux有一定基础的工程师而言,能够较好理解这些相关技术也相当不错。本文横向比较关联各个驱动相关的知识点和纵向剖析Linux整个驱动软件层次,传道授业解惑!!...
分类:
其他好文 时间:
2015-07-25 00:18:40
阅读次数:
251