阅读:1083回复:5
Jim_little
你玩过PCI吗? :D
|
|
|
沙发#
发布于:2002-06-10 10:34
你应该问问你的硬件设计人员,他应该比较清楚PCI的设计结构,否则做的板子怎么可能工作?
你的问题我都看过了,但是我不太熟悉DDK。要掌握DDK,我估计要熟悉保护模式的原理,这样物理地址、线形地址、虚拟地址的概念才可以清楚。我编程用driverstudio,他是在DDK的基础上封装而成的,比较适合初学。 |
|
|
板凳#
发布于:2002-06-10 10:57
我们的硬件设计人员也是初学,所以现在碰到这种事情,他说他的没错,我是到处求医,从得到的结果来看,我做的并没有错,这搞的我很痛苦!你有没有PCI的测试小程序,我可以测试它的板子,只是测试端口或内存可读可写,谢谢!
[编辑 - 6/10/02 by shengws] |
|
|
地板#
发布于:2002-06-10 11:06
我给你以下建议:
1、首先弄清楚你的板卡内存是映射为I/O空间,还是内存空间。 如果是映射为I/O空间,则用Read_port_****; 如果是内存的,则用Read_Register_****. 2、你要读取的内容是那里的? 是PCI板卡配置空间的,还是PCI板卡内存中的?这一点要分别对待。 我猜测读取PCI配置空间256字节的某个内容,要使用Read_port_****。 3、一般来说,常见死机主要有两种原因: 中断处理错误。 写不应该写的地址(地址错误) 只是建议,我不熟悉DDK和你的板子具体情况。 |
|
|
地下室#
发布于:2002-06-10 11:31
谢谢你的帖子,我现在测出来原来是我得到的这段申请内存空间是不可读可写的,所以出了问题,我是通过判断资源的FLAGS来知道的。
那我就想请教,我怎样才能对这段内存可读可写?是否需要设置一些 PCI配置空间的状态位还是通过硬件来设置? 谢谢你我给了你10分 |
|
|
5楼#
发布于:2002-06-10 12:48
我没有遇到过这个问题。不过按照道理上来讲,PCI板卡的内存相当于主机的内存一样,没有分别,应该与硬件没有关系。你可以试试PCI配置空间的Command寄存器中的最低一位写1。
另外,是既不可读又不可写;还是不可读,但可写;没有写清楚。 具体操作你来进行,我不太清楚。 |
|
|