Linux内核学习,推荐的书籍: 《linux设备驱动开发详解第二版》、《Linux内核设计与实现第三版》、《嵌入式Linux应用开发完全手册》 第一篇:讲解Linux内核的基础知识,先有一个整体的框架,后续会逐步讲解,一步步深入。 1.物理地址和虚拟地址 地址转换:内核所使用的地址一定是虚拟地址, ...
分类:
系统相关 时间:
2016-06-25 06:12:59
阅读次数:
208
《UNIX环境高级编程》(第2版),史蒂文斯著 《深入理解 Linux 内核》(第三版) ,博韦等著 Linux设备驱动开发详解:基于最新的Linux 4.0内核 宋宝华 ...
分类:
系统相关 时间:
2016-06-21 22:39:40
阅读次数:
196
从本章开始引入所有关于模块和内核编程的基本概念,并编写一个完整模块来实践这些基本的概念。3.1搭建测试环境由于所有测测试代码都是基于Ubuntu14.04.2Desktop的3.16.0-30-generic内核,所以最好是到Linux官方网站去下载一份该版本内核的源代码。另外,建议在虚拟机里面安装你..
分类:
系统相关 时间:
2016-06-20 19:05:04
阅读次数:
191
虽然网络上已经有很多Linux设备驱动开发学习的文章和博客,更是有很多经典的Linux设备驱动开发的书籍,写这些博文似乎意义不大,但把自己的学习过程、学习心得记录下来,一方面有着强化巩固的意义,另一方面也是把所学知识转化为自己所得的必要途径之一,这是我写这些的博客的原..
分类:
系统相关 时间:
2016-06-16 00:13:58
阅读次数:
185
By Fanxiushu 2016-05-22 转载或引用请注明原始作者
接上文,
在处理好USB数据采集端的问题之后,接下来进入核心的部分,虚拟USB设备端的开发工作。
上文简单介绍过,需要开发虚拟总线驱动来模拟USB设备。
所谓虚拟总线驱动,就是安装于System系统设备下的一个驱动,由PnP管理器创建出一个虚拟的总线PDO设备,
我们的虚拟总线驱动Attach到这个PDO上,形成一...
分类:
其他好文 时间:
2016-05-27 12:38:16
阅读次数:
396
Linux I2C体系结构
15.1 I2C核心
I2C核心提供了I2C总线驱动和设备驱动的注册、注销的方法,I2C通信(Algorithm)方法上层的与具体适配器无关代码以及探测设备、检测设备地址的上层代码等
I2C总线驱动
是对I2C体系结构中适配器端的实现,适配器可由CPU控制,甚至可以直接集成在CPU内部
总线驱动包含I2C适配器数据结构i2c_adapter、I2C适配器的Algori...
分类:
系统相关 时间:
2016-05-20 19:48:29
阅读次数:
366
在设备驱动中使用异步通知可以使得对设备的访问可进行时,由驱动主动通知应用程序进行访问。因此,使用无阻塞I/O的应用程序无需轮询设备是否可访问,而阻塞访问也可以被类似“中断”的异步通知所取代。异步通知类似于硬件上的“中断”概念,比较准确的称谓是“信号驱动的异步I/O”。
9.1 异步通知的概念和作用
异步通知:一旦设备就绪,则主动通知应用程序,该应用程序无需查询设备状态
几种通知方式比较:
阻塞I/...
分类:
系统相关 时间:
2016-05-20 19:47:46
阅读次数:
356
15.1 Linux I2C体系结构 I2C核心 I2C核心提供了I2C总线驱动和设备驱动的注册、注销的方法,I2C通信(Algorithm)方法上层的与具体适配器无关代码以及探测设备、检测设备地址的上层代码等 I2C总线驱动 是对I2C体系结构中适配器端的实现,适配器可由CPU控制,甚至可以直接集 ...
分类:
系统相关 时间:
2016-05-20 19:35:50
阅读次数:
347
By Fanxiushu 2016 转载或引用本文,请注明原始作者。
使用过vmware的人都应该知道,vmware虚拟机有这样的一个功能,
当在宿主机上插入一个USB设备的时候,通过设置,可以在vmware的虚拟机系统里边能访问到这个USB设备,
而且访问这个USB设备,就跟真的把这个USB设备插入到这个虚拟系统中一样,跟真实的几乎没任何区别。
再看一种情况,假设有两台机...
分类:
其他好文 时间:
2016-05-18 19:06:47
阅读次数:
253