阅读:1058回复:6
请教一个PCI设计入门的问题?
我原来的是用ISA控制的,现在想改成PCI的,我的用途很简单:就是用PCI作一个I/O,原来在ISA中地址线和数据线是分开的,ISA卡地址译码部分可通过A0~A19脚是否有效来确定地址,软件控制很简单,因为ISA中有D0~D7数据线,用in和out指令就可以控制,但PCI中只有数据线没有地址线,假如我的地址已配置好是1B0H,要输出一个25的数值到此地址,要输出一个写指令到C/BE[3:0],再输出地址到AD[31:0]中,再传送数据,因为在语言中只有输入/输出指令,而写数据(25)到地址1B0H中不知怎样选指令:out XX,1B0H out XX,25,是不是要通过写驱动程序实现,还有映像的概念我也不是很懂,请各位大虾指点.
|
|
沙发#
发布于:2003-01-13 13:58
需要设计pci驱动程序。
如果用ds的话,需要: 1、在设备类中,定义一个KIoPortRange类对象 KIoPortRange m_IoPortRange; 2、在设备启动例程中,初始化 status=m_IoPortRange.Initialize(.....); 3、使用KIoPortRange 的成员函数inb,outb,inw,outw等 如 m_IoPortRange.inb(STATUSREG);//STATUSREG为一个寄存器的偏移地址。 还有其它方法。 |
|
板凳#
发布于:2003-01-13 14:47
Gong_XG兄:
不好意思,我是新手看不懂,再请问一下:在PCI中输入/输出数据的原理(方法)是什么?在ISA中地址线和数据线是分开的,PCI中只有数据线没有地址线,我原来看过一篇文章好像说只要简单的I/O可以不用写驱动程序. 谢谢! |
|
地板#
发布于:2003-01-14 11:43
我也想问一下,如果想写一个pci卡的wdm驱动,最开始要了解些什么
是不是要自己写出像windriver中的WD_OPEN函数之后,才能开始写PCI卡驱动 |
|
地下室#
发布于:2003-01-14 17:58
建议看一下PCIdatasheet
|
|
|
5楼#
发布于:2003-01-15 08:35
哪儿有,楼上的朋友
|
|
6楼#
发布于:2003-01-15 13:11
去www.google.com
搜一下,很多的,要什么型号的都有 |
|
|