阅读:2413回复:16
如何开发LINUX下的PCI卡驱动?
这一段时间在学习LINUX,想要做一个PCI9054卡的驱动,我看了内核里面/LINUX/PCI下面的PCI。C的代码,哪个应该是内核里面的PCI驱动程序吧?那么我的板卡驱动是要修改或者添加代码到这个文件里面吗?
我知道驱动程序主要就是要实现file operation里面的那些子程序,可是,写好了,在那里调用这个结构呢? 我是个新手,请大家多支持!谢谢了! |
|
沙发#
发布于:2003-07-13 11:35
去下载一个windriver for linux ,可以使用一个小时,重新输入评估刷新又可以接着使用,还可以。
|
|
板凳#
发布于:2003-06-10 12:20
fwzfwz1:
呵呵,收到了,多谢了,我在读源代码,可是发现好像不是LINUX下的,没有看见init_module()阿! 另外开贴给你分吧!以表感谢! |
|
地板#
发布于:2003-06-10 11:15
zhangyanping1:
已经给你发过去了,收到了吗 |
|
|
地下室#
发布于:2003-06-07 13:35
fwzfwz1:
我怎么没有找到你说的PLX的SDK里面关于开发PCI9054的LINUX例子程序啊,能不能帮忙找一下啊,如果你有发到我的邮箱好吗? zhangyanping115@163.com 下次等录一定给分答谢了! |
|
5楼#
发布于:2003-06-06 20:33
ok,i will go to download it.thanks a lot!
|
|
6楼#
发布于:2003-06-05 20:32
当然有啊,你可以在本站下到其3.3版(专业版),里面有linux的源代码。
|
|
|
7楼#
发布于:2003-06-05 18:14
可是PLX公司的资料上面有LINUX下的驱动源代码吗?我没有看到阿?
|
|
8楼#
发布于:2003-06-05 15:14
是字符设备驱动程序,你应该直接看plx公司的源代码呀!,那里应该比较清楚。
|
|
|
9楼#
发布于:2003-05-28 14:34
DOS,今天还是看不到给分的按钮,一会重开一个贴给你分吧,我先要测试的板卡是PLX LITE SDK的那个,上面只是有一个PCI9054,CPLD和SRAM,我呢,只是需要读写SRAM里面的数据就可以了,所以,我想我的这个应该是属于字符行设备驱动开发吧?
不知道理解的是不是正确? |
|
10楼#
发布于:2003-05-28 00:27
你先要确定你的pci卡的工作特性属于字符设备、块设备还是其它设备。不同设备需要实现的结构不一样。
我觉得你还是应该买一本《linux驱动程序(第二版)》看看先。 |
|
11楼#
发布于:2003-05-27 18:38
多谢楼上的建议了,我是在看这个程序,希望可以有所收获,只是,周围没有人在做类似东西,所以,没有人交流学习比较慢!
|
|
12楼#
发布于:2003-05-27 09:18
你看看里面的pci设备的驱动比如网卡,显卡之类的,自己照着练练。
|
|
13楼#
发布于:2003-05-26 14:27
多谢DOS的回答啊,明白了这个结构的意思,可是,我现在的问题是不知道做这个PCI卡的驱动该从何处下手啊,到底是修改内核里面的PCI。C文件,还是,自己编写那些file_operation里面的子函数啊?
今天怎么看不到给分的按钮了?DOS,下次登陆时在给你分吧! |
|
14楼#
发布于:2003-05-25 22:38
file_operation的作用就是为了把你的驱动模拟成一个文件来处理。你在app里打开文件(open),进行读(read)写(write)是常有的事情,似乎比较好理解。同样,现在你也可以open你的驱动,从驱动read数据,write数据到你的驱动。这时你打开的文件将是你的驱动对应的设备文件(都在/dev目录下),而那些操作就对应驱动的file_operation的各个函数。
|
|
15楼#
发布于:2003-05-25 12:41
多谢楼上支持,我对硬件还是比较理解,因为以前主要是学的硬件,只是对软件略微生疏,我在看‘LINUX设备驱动的书’,只是,还没有深入理解进去,所以,对在LINUX下开发驱动不知从何处下手,有不知道那些原代码到底该如何利用?
|
|
16楼#
发布于:2003-05-23 12:02
我也在看Linux的驱动,但俺是一个新手,还没写过驱动,刚看了看Linux设备驱动第二版前几章,觉得不错,你可以找来看看。还有《Linux源码分析》(毛德操写的)中讲了很多PCI的驱动问题,你可以找来看看,不过它是从内核实现角度来将,所以有很多东西可能你不关心,但可以翻一翻。
我主要是没做过硬件方面的开发,所以不太懂如何操作硬件,等你开发完了,有机会向你学习学习。 |
|