例子是从《Android系统源代码情景分析》第二章抄过来的,在学习的过程中还是遇到了不少的问题。 个人体会:在学习第二章之前应该把《Linux设备驱动程序》这本书至少前四章要读一遍,理解一些基础概念和背景知识,不过这本书还是略旧,比如sysfs就没有解释,多google吧。 本书第二章要理解透了再往
分类:
其他好文 时间:
2016-02-21 01:27:19
阅读次数:
305
Linux2.6的内核中引入了一种新的设备驱动模型-平台(platform)设备驱动,平台设备驱动分为平台设备(platform_device)和平台驱动(platform_driver),平台设备的引入使得Linux设备驱动更加便于移植。一、平台设备平台设备结构体: 1 struct platfo...
分类:
系统相关 时间:
2016-01-06 23:38:53
阅读次数:
265
今天看了《Linux设备驱动开发详解》的第四章模块和第五章文件。学长给了一个的任务:删除Linux内核中的DM9000的驱动模块,重新编译内核。这篇文章现在写肯定还不够完善,我之后我会再补全,所以先打一个“@”的标记。首先,我从文件中找到DM9000驱动模块所在位置,在~/drives/net下。于...
分类:
系统相关 时间:
2016-01-06 23:32:24
阅读次数:
385
转自:http://blog.csdn.net/jacobywu/article/details/7475432阻塞型I/O和非阻塞I/O阻塞:休眠非阻塞:异步通知一 休眠安全地进入休眠的两条规则:(1) 永远不要在原子上下文中进入休眠,即当驱动在持有一个自旋锁、seqlock或者 RCU...
分类:
系统相关 时间:
2015-12-21 16:01:15
阅读次数:
279
操作系统版本root@ubuntu:~/vm_disk_dpdk/study/drive/examples/scull# sudo lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu...
分类:
系统相关 时间:
2015-12-11 09:53:37
阅读次数:
388
Linux设备驱动都是以内核模块的形式出现的,但模块不一定是驱动。驱动可以编译进内核,在配置内核时,如果把某个配置项设为m,那么它将会随着内核编译时被编译成一个模块,但是这样向内核添加驱动程序会使得内核变得很大,而且在增加、修改、删除驱动程序时需要再一次编译内核..
分类:
系统相关 时间:
2015-12-10 19:52:41
阅读次数:
243
深入浅出:Linux设备驱动之字符设备驱动一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备...
分类:
系统相关 时间:
2015-12-07 10:29:36
阅读次数:
255
深入理解Linux内核(第三版pdf英文版)深入分析Linux内核源代码教程pdf完整版linux从入门到精通教程pdf完整版Linux菜鸟专用资料pdf完整版Linux网络编程教程pdf完整版嵌入式Linux应用开发完全手册-pdf完整版Linux设备驱动程序学习pdf完整版Linux实用培训教程合并版pdf完整版精通li..
分类:
系统相关 时间:
2015-10-30 17:07:35
阅读次数:
273
学了那么多程序语言,总是有一个Hello world开头,不禁感叹Hello world的强大。呵呵,废话少说,咋们的故事当然要从这个Hello world开始。 先查看自己OS使用的内核版本[dongliang@dongliang:~]$ uname -r2.6.22-14-generic /* ...
分类:
系统相关 时间:
2015-10-26 10:23:42
阅读次数:
212
一、概述Linux内核就是由各种驱动组成的,内核源码中大约有85%的各种渠道程序的代码。一般来说,编写Linux设备驱动大致流程如下:1、查看原理图,数据手册,了解设备的操作方法。2、在内核中找到相近的驱动程序,以它为模板开发。3、实现驱动的初始化:比如像内核注册这个驱动程序4、设计要实现的操作:o...
分类:
其他好文 时间:
2015-09-26 12:06:02
阅读次数:
216