20楼#
发布于:2003-10-23 23:17
把你的源代码发上来我给你看看。 那么让大侠费心了。 源代码在本帖附件中。在代码里,我是想实现对Base2的IO读写功能,但对数组不能成功。请尤其注意驱动程序中的:Serial_PCI9054_IOCTL_802_ReadBase2_Handler(KIrp I) Serial_PCI9054_IOCTL_803_WriteBase2_Handler(KIrp I) 以及应用程序中的: Test_PCI9054_IOCTL_802_ReadBase2(void) Test_PCI9054_IOCTL_803_WriteBase2(void) 这四个例程是否正确。 对于Base3的读写例程,因为硬件中没有用到它,所以对Base3的例程基本上没有怎么写。所以对这些例程,忽略就够了。重点是对Base2的读写。 另外,使用向导生成框架的过程在前面几个帖子里贴出来了(也在附件中)。 我的电子邮件是 ZhangZL@vip.163.com [编辑 - 10/24/03 by stephen80320] |
|
|
21楼#
发布于:2003-10-24 10:26
板子的Local方数据线16根
PCI方数据线32根 |
|
22楼#
发布于:2003-10-24 20:15
非整字边界读写功能是硬件决定的,和软件无关。你申请pci资源时到底是申请的IO空间还是MEM空间。
|
|
23楼#
发布于:2003-10-24 22:17
非整字边界读写功能是硬件决定的,和软件无关。你申请pci资源时到底是申请的IO空间还是MEM空间。 对Base2声请的是MEM空间 |
|
24楼#
发布于:2003-10-25 19:33
板子的Local方数据线16根 你的硬件不支持32位操作,9054好像是pci to isa bridge,isa是16位的。 |
|
25楼#
发布于:2003-10-27 19:55
用WINDRIVER附带的功能作了一个试验:
在PCIBAR2偏移地址为0出写了一个USHORT型数据0,然后读出也是0 在偏移地址4处写入数据OX44,然后读出也是0X44。 在偏移地址8处写入数据0X88,然后读出也是0X88。此时,我再在偏移地址为0处读数据,读出为0;接着,在偏移地址为4处读取数据,读出也正确,为0X44。但是,我接下来在偏移地址为8处读数据时,此时读出的数据是0XFFFF。 看来这表明硬件有错是不是?如果是硬件有错,请问有可能是哪里处错? 凡提供建议者均会在最后给分! |
|
26楼#
发布于:2003-10-27 21:21
硬件是你自己做的吗?故障的可能性太多了
|
|
27楼#
发布于:2003-10-29 21:48
谢谢各位
问题已经解决了 实际上,我编写的程序基本上没有问题(不过感谢楼上的一位朋友指出其中的一个小问题)。 因为硬件是我师兄作的,驱动程序是我编写的,所以在和我师兄沟通的时候,不是能很好的沟通。 不过非常感谢这么多的朋友出谋划策,提出解决问题的方案。 每位朋友都加了分数。 以后有问题,希望各位能继续赐教。 |
|
上一页
下一页