阅读:2930回复:21
这是为什么呢?(30分)
为什么我在inf文件的LogConfig节指定IOConfig=280-29F能获得资源,驱动安装一切正常.
我把IOConfig改为MemConfig=E000000-E0003FF(我板卡内存范围),重启机器后就出现问题了, 打开设备管理器,设备上是一个感叹号,在设备的属性页里,有如下信息: \"常规\"标签里:\"该设备没有足够的资源运行,代码12\", \"资源\"标签里:\"windows无法确定有无资源冲突\" 请问这会有哪些可能的错因呢? (我觉得是板卡的地址范围有问题,但板卡说明书上就是这么写的.) |
|
沙发#
发布于:2003-08-17 22:21
IOConfig改为MemConfig=E000000-E0003FF(我板卡内存范围),
你要设置的是IO范围,怎么又是内存范围? |
|
|
板凳#
发布于:2003-08-18 09:15
你的译码有问题呀。
看你另外一个帖子里我的答复。 你把Memory Address改成 E0000 - E03FF试一下。 |
|
|
地板#
发布于:2003-08-18 21:38
IOConfig改为MemConfig=E000000-E0003FF(我板卡内存范围), 板卡本来是应该要Mem范围,但安装不上,后来我就改为IO范围,就能安装,进行一些调试工作了. |
|
地下室#
发布于:2003-08-18 21:39
你的译码有问题呀。 我改了,还是不行,怎么回事? |
|
5楼#
发布于:2003-08-18 22:32
我是用的DDK+win2K,用dbgView查看的驱动程序中的DbgPrint的输出的信息.
一.inf文件中的LogConfig节为: [HAPCAN.LogConfig] IOConfig=240-26F;220-26F IRQConfig=7 安装重启后一切正常. 用dbgView查看输出结果如下: 00000000 0.00000000 SlWdmSup: In DriverEntry 00000001 0.37748932 HAPCAN - 进入DriverEntry例程:DriverObject FCDFC750 00000002 0.37749491 HAPCAN - DriverEntry 例程完成. 00000003 0.37786953 HAPCAN - 进入AddDevice例程:DriverObject FCDFC750 00000004 0.37789244 HAPCAN - FDO为: FCDFC600 00000005 0.37813884 HAPCAN - 符号连接名为:v 00000006 0.37814471 HAPCAN - AddDevice例程成功结束了. 00000007 0.37817264 HAPCAN - PNP请求为: IRP_MN_QUERY_LEGACY_BUS_INFORMATION:系统保留使用 00000008 0.37819639 HAPCAN - PnP完成(!STATUS_SUCCESS),状态码为:C00000BB 00000009 0.71812619 HAPCAN - PNP请求为: IRP_MN_FILTER_RESOURCE_REQUIREMENTS:修改I/O资源需求列表 00000010 0.71813485 HAPCAN - HandleFilterResources:过滤资源需求 00000011 0.71814295 HAPCAN - Entering ForwardAndWait. 00000012 0.71815049 HAPCAN - HandleFilterResources:SUCCESS! 00000013 7.47923298 KAInit Entry... 00000014 7.83322154 HAPCAN - PNP请求为: IRP_MN_START_DEVICE:配置并初始化设备 00000015 7.83322936 HAPCAN - 进入HandleStartDevice 00000016 7.83323635 HAPCAN - Entering ForwardAndWait. 00000017 7.83324696 HAPCAN - HandleStartDevice:后续处理. 00000018 7.83325227 HAPCAN - 原始资源信息如下: 00000019 7.83326568 端口资源: 起始地址: 240,长度:48字节 00000020 7.83327769 中断资源: 级别:7,向量:7,亲和性:FFFFFFFF 00000021 7.83328384 未知资源: 类型为129: 00000022 7.83328915 HAPCAN - 转换后的资源信息如下: 00000023 7.83329976 端口资源: 起始地址: 240,长度:48字节 00000024 7.83331038 中断资源: 级别:14,向量:37,亲和性:1 00000025 7.83331652 未知资源: 类型为129: 00000026 7.83362718 HAPCAN - 设备接口已经启用:vx 00000027 7.83391576 HAPCAN - PNP请求为: IRP_MN_QUERY_CAPABILITIES:取设备能力 00000028 7.83402751 HAPCAN - PNP请求为: IRP_MN_QUERY_PNP_DEVICE_STATE:取设备状态 00000029 7.83404315 HAPCAN - PnP完成(!STATUS_SUCCESS),状态码为:C00000BB 00000030 7.83405740 HAPCAN - PNP请求为: IRP_MN_QUERY_DEVICE_RELATIONS:给出与指定特征相关的设备列表 00000031 7.83407109 HAPCAN - PnP完成(!STATUS_SUCCESS),状态码为:C00000BB 00000032 39.53728058 Fips device driver loaded successfully 00000033 58.68113685 Fips driver locked into memory 00000034 58.68116590 Fips driver unlocked from memory |
|
6楼#
发布于:2003-08-18 22:33
二.inf文件中的LogConfig节为:
[HAPCAN.LogConfig] MemConfig=E0000-E03FF IRQConfig=7 重启后出现了问题,在设备的属性页如图: 用dbgView查看输出结果如下: 00000000 0.00000000 SlWdmSup: In DriverEntry 00000001 0.32964190 HAPCAN - 进入DriverEntry例程:DriverObject FCDFE590 00000002 0.32964720 HAPCAN - DriverEntry 例程完成. 00000003 0.32999418 HAPCAN - 进入AddDevice例程:DriverObject FCDFE590 00000004 0.33001764 HAPCAN - FDO为: FCDFE440 00000005 0.33017465 HAPCAN - 符号连接名为:v 00000006 0.33018051 HAPCAN - AddDevice例程成功结束了. 00000007 0.33020621 HAPCAN - PNP请求为: IRP_MN_QUERY_LEGACY_BUS_INFORMATION:系统保留使用 00000008 0.33022968 HAPCAN - PnP完成(!STATUS_SUCCESS),状态码为:C00000BB 00000009 0.71810300 HAPCAN - PNP请求为: IRP_MN_FILTER_RESOURCE_REQUIREMENTS:修改I/O资源需求列表 00000010 0.71811138 HAPCAN - HandleFilterResources:过滤资源需求 00000011 0.71812116 HAPCAN - Entering ForwardAndWait. 00000012 0.71812842 HAPCAN - HandleFilterResources:SUCCESS! 00000013 7.46517867 KAInit Entry... 00000014 42.76790402 Fips device driver loaded successfully 00000015 63.79346844 Fips driver locked into memory 00000016 63.79348995 Fips driver unlocked from memory 为什么用MemConfig后就没有了IRP_MN_START_DEVICE消息?那该怎么办? |
|
7楼#
发布于:2003-08-18 22:34
这是属性页的信息:
|
|
8楼#
发布于:2003-08-18 22:40
(不好意思,刚才没附上。)
这是属性页的信息: |
|
9楼#
发布于:2003-08-18 22:47
还有一张:
|
|
10楼#
发布于:2003-08-19 10:14
象是系统冲突。
在我的计算机中,E0000-E3FFF都被PCI Bus用掉了,如图。 你可以看一下你的系统中哪一段是空的,然后跳成那一段试一下。 但是要注意,由于ISA总线只有19位地址线参加译码,所以会有一些限制,比如资源3E0000-3Exxxx被用了,那你也不能跳成E0000-E3FFF。 |
|
|
11楼#
发布于:2003-08-19 13:53
显然是资源冲突了
你要申请的内存资源被别的设备占用了 :D |
|
|
12楼#
发布于:2003-08-19 21:41
我还以为是我的驱动的原因呢,今天作了一个nt式的驱动,还是不行,
也是在资源请求时失败了. 我再试试其他的地址. |
|
13楼#
发布于:2003-08-19 22:15
我试了,
在这台机器上的内存资源如下图,但还是不行. 这是XP系统,在设备的属性页中出现了错误如下: \"该设备找不到足够资源可以使用。 (代码 12) 如果要使用该设备,您需要停用该系统上的另一个设备。\" |
|
14楼#
发布于:2003-08-20 11:39
可以只用IO方式吗?
我担心的是,ISA只有19bit Address Bus参与译码, 这样一来就会有冲突。 比如你用E0000,那对1E0000, 2E0000, 3E0000...的操作都会译码到你的板卡。这样就很头疼了。 |
|
|
15楼#
发布于:2003-08-20 19:48
可以只用IO方式吗? I/O方式是指用I/O端口资源吗? 板卡只能用那个1KB的双口RAM,但可以不使用中断. 对于冲突,系统信息里面没有显示有谁占用了那些内存,行不行啊? 为什么系统信息里面没有显示谁占用了那些内存,为什么我还分配不到那块内存呢,这最让人困惑了 :( 问了这么多问题,30分太少了,等几天攒到100分了在给大侠送分相谢!!! :D |
|
16楼#
发布于:2003-08-20 20:59
我在设备的属性页里看到了,在\"资源\"选项卡里,说\"000E0000-000E03FF内存范围不可用\",但在系统信息里看不到有谁用了这个范围,以及XE0000........
|
|
17楼#
发布于:2003-08-22 21:04
呵呵,自己顶一下。请大家帮帮我,小弟有礼了。
|
|
18楼#
发布于:2003-08-23 14:19
你进入BIOS看看这段内存范围谁用了,改成Reserved 方式,看看!
|
|
|
19楼#
发布于:2003-08-24 18:09
你进入BIOS看看这段内存范围谁用了,改成Reserved 方式,看看! 我试了,这段内存范围没有谁用,但仍不行。 |
|
上一页
下一页