在线时间7 小时
UID3259952
注册时间2016-4-9
NXP金币0
该用户从未签到
新手上路
- 积分
- 46
- 最后登录
- 2016-6-16
|
最近使用到恩智浦的LPC1778单片机通过USB与PC通信的功能,恩智浦提供的USB驱动程序在win7和win10上都可以正常安装,但是在xp上安装失败,提示“错误代码39”。研究了一下该驱动的INF文件,发现服务安装节好像对xp有特殊处理,以前也没搞过驱动,网上也没有找到解决方案,请大家帮忙看看,谢谢大家!
该节内容为:
;[3] for XP we need to do this explicitly
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
INF文件全文内容如下:
[code=html]
; Copyright (c) NXP Semiconductors Inc.
[Version]
Signature = "$Windows NT$"
Class =LpcDevice
ClassGuid={378029ad-c65d-40e3-b5fe-a740129416e4}
Provider = %ProviderName%
DriverVer=12/01/2014,13.54.20.544
CatalogFile=lpcdevice.cat
; ================== Class section ==================
[ClassInstall32]
Addreg=MyDeviceClassReg
[MyDeviceClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1
; ========== Manufacturer/Models sections ===========
[Manufacturer]
%ProviderName% = NXP_WinUSB,NTx86,NTamd64,NTarm
[NXP_WinUSB.NTx86]
%USB\VID_0471&PID_1700.DeviceDesc% =USB_Install, USB\VID_0471&PID_1700
%USB\VID_0471&PID_1700&MI_00.DeviceDesc% =USB_Install, USB\VID_0471&PID_1700&MI_00
%USB\VID_0471&PID_1700.DeviceDesc% =LabTool_Install, USB\VID_0471&PID_1700
[NXP_WinUSB.NTamd64]
%USB\VID_0471&PID_1700.DeviceDesc% =USB_Install, USB\VID_0471&PID_1700
%USB\VID_0471&PID_1700&MI_00.DeviceDesc% =USB_Install, USB\VID_0471&PID_1700&MI_00
%USB\VID_0471&PID_1700.DeviceDesc% =LabTool_Install, USB\VID_0471&PID_1700
[NXP_WinUSB.NTarm]
%USB\VID_0471&PID_1700.DeviceDesc% =USB_Install, USB\VID_0471&PID_1700
%USB\VID_0471&PID_1700&MI_00.DeviceDesc% =USB_Install, USB\VID_0471&PID_1700&MI_00
%USB\VID_0471&PID_1700.DeviceDesc% =LabTool_Install, USB\VID_0471&PID_1700
; =================== Installation ===================
;[1]
[USB_Install]
Include=winusb.inf
Needs=WINUSB.NT
[LabTool_Install]
Include=winusb.inf
Needs=WINUSB.NT
;[2]
[USB_Install.Services]
Include =winusb.inf
;Needs = WINUSB.NT.Services
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall
[LabTool_Install.Services]
Include =winusb.inf
;Needs = WINUSB.NT.Services
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall
;[3] for XP we need to do this explicitly
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install
[LabTool_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install
[WinUSB_Install]
KmdfLibraryVersion=1.11
;[5]
[USB_Install.HW]
AddReg=Dev_AddReg
[LabTool_Install.HW]
AddReg=LabTool_AddReg
[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{a01674b4-c5f6-485c-af94-3271701d57b4}"
[LabTool_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{D54D422C-1E30-4E6A-8F8E-345DF2AD4211}"
;[6]
[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles
[LabTool_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01011.dll,WdfCoInstaller","WinUsbCoInstaller2.dll"
[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01011.dll
[DestinationDirs]
CoInstallers_CopyFiles=11
; ================= Source Media Section =====================
;[7]
[SourceDisksNames]
1 = %DISK_NAME%,,,\x86
2 = %DISK_NAME%,,,\x64
3 = %DISK_NAME%,,,\arm
[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll=1
WdfCoInstaller01011.dll=1
[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll=2
WdfCoInstaller01011.dll=2
[SourceDisksFiles.arm]
WdfCoInstaller01011.dll=3
; =================== Strings ===================
[Strings]
ProviderName="NXP"
ClassName="LpcDevice"
USB\VID_0471&PID_1700.DeviceDesc="LPC based USB device"
USB\VID_0471&PID_1700&MI_00.DeviceDesc ="LPC DFU device"
USB\VID_0471&PID_1700.DeviceDesc="LabTool"
WinUSB_SvcDesc="LPC WinUsb Service"
DISK_NAME="Drivers"
REG_MULTI_SZ=0x00010000
[/code]
最佳答案
本帖最后由 mgn 于 2016-5-17 18:22 编辑
http://www.lpcware.com/content/ ... using-keils-mdk-arm
请尝试连接中的USB CDC的例程,而且里边也有XP的Driver。
以前有个帖子是XP的INF转Vista或者Win7的。你可以b ...
|
|