英文名叫Essential linux Device Drivers,,手头的英文版看着很累!想弄本中文的,但是china-pub上的书评一般啊,看过的高手说说!
( 本文摘录自eda_yll的文章,摘选了对自己有用的部分 ) 以下所指的驱动程序都是针对具体设备,并做成模块动态加载方式工作的。驱动程序框架是分层的,有些驱动并不是针对具体设备的如ext2文件系统的驱动,tcp/ip协议的驱动等等,这些可以称之为软驱动,工作于其他具体设备驱动程序之上。由于我们做的是嵌入式开发,仅仅编写最低层的设备驱动就可以了。 设备驱动程序通常分为字符设备和块设备,这是泛指分类。区别就...
请问 关于函数 int register_chrdev_region(dev_t first,unsigned int count,char *name);这个函数的参数具体是什么意思 特别是第二个参数,书上说是所请求的连续设备编号的个数。是不是说要请求多个编号,一个编号对应一个设备,也就是说要用于多个设备吗?
前言:
从接触自己的毕设开始,已经有两年多了,结合自己的实际情况,自己希望在ARM-linux上有一定的发展,希望以后能够从事linux方面的工作。
因为自己所研究的是ARM-linux,所以我所做的都是在交叉编译环境,也就是在友善之臂的mini2440平台上运行,内核平台为2.6.29.并结合网上论坛的资料,进行更改,希望自己能取得一定的进展。
转贴 序言linux是Unix操作系统的一种变种,在linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下的驱动程序有很大的区别。在linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的操作要自己来编写,而且调试也不方便。本人这几周来为实验室自行研制的一块多媒体卡编制了驱动程序,获得了一些经验,愿与linux fans共享,有不当之处,请...
o(∩_∩)o...哈哈********linux设备驱动程序框架********o(∩_∩)o...哈哈 一、linux的设备驱动程序与外界的接口可以分为三个部分: 1.驱动程序与操作系统内核的接口。通过file_operations(include/linux/fs.h)数据结构来完成的。 2.驱动程序与系统引导的接口。这部分利用驱动程序对设备进行初始化。 3.驱动程序与设备的接口。这部分描述了驱动程序如何与设备进行交互,与具体的设备密切相关。 二、根据功...
linux 2.4的内核下驱动编译出来的名字通常是*.o的文件,而在linux 2.6的内核下编译出来的文件是*.ko的文件。在编译驱动的时候,注意要在编译的时候加__DKERNEL__和_DMODULE参数。还要注意在 makefile 文件里面正确地指定 KERNELDIR 和INCLUDEDIR。驱动程序有两种加载方式,内核自动加载和手动加载。通常的做法是在调试过程中采用手动加载的方式,等调试好了之后,就可以编译到内核里面采用自动加载的方式。驱动相对于内核来说就是...
设备驱动模板代码Mydriver.c #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /*定义设备的从设备号*/ #define MYDRIVER_MINOR 174 /*定义设备相关数据结构*/ typedef struct _MYDRIVER_DEV { spinlock_t dev_lock; wait_queue_head_t...
linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得Windows的设备操作犹如文件一般。在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,如open ()、close ()、read ()、write () 等。 linux主要将设备分为二类:字符设备和块设备。字符设备是指设备发送和接收数据以字符的形式进行;而块设备则以整个数据缓冲区的形式进行。字符设备的驱动相对比较简单。 ...