查看: 3586|回复: 6

[已解决] 请教一个关于LPC1778USB驱动程序INF文件的问题

[复制链接]

该用户从未签到

2

主题

7

帖子

0

新手上路

Rank: 1

积分
46
最后登录
2016-6-16
发表于 2016-5-16 16:00:00 | 显示全部楼层 |阅读模式
最近使用到恩智浦的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 ...
回复

使用道具 举报

该用户从未签到

2

主题

7

帖子

0

新手上路

Rank: 1

积分
46
最后登录
2016-6-16
 楼主| 发表于 2016-5-17 09:26:23 | 显示全部楼层
有人吗?顶顶顶。。
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20230
最后登录
2024-5-13
发表于 2016-5-17 14:24:27 | 显示全部楼层
heihei123 发表于 2016-5-17 09:26
有人吗?顶顶顶。。

我在申请一个新的INF,收到后发给你
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20230
最后登录
2024-5-13
发表于 2016-5-17 15:15:15 | 显示全部楼层
你试试这个附件

USB CDC binaries.zip

55.15 KB, 下载次数: 18, 下载积分: 威望 1

回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

7

帖子

0

新手上路

Rank: 1

积分
46
最后登录
2016-6-16
 楼主| 发表于 2016-5-17 15:38:58 | 显示全部楼层
感谢版主,我现在用的驱动是从lpcopen上下载的,在win7和win10上安装都正常,驱动的核心是winusb.sys,对应这个驱动的应用程序也已经写好了。但是这个驱动在XP系统上不能正常安装,我看我下载的驱动的INF文件,既然有“for XP we need……”这句话,就应该是对XP提供支持的吧,具体这句话是什么意思呢?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    840

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3995
    最后登录
    2024-5-10
    发表于 2016-5-17 18:18:33 | 显示全部楼层
    本帖最后由 mgn 于 2016-5-17 18:22 编辑

    http://www.lpcware.com/content/ ... using-keils-mdk-arm

    请尝试连接中的USB CDC的例程,而且里边也有XP的Driver。
    以前有个帖子是XP的INF转Vista或者Win7的。你可以baidu(没办法你能翻墙 的话还是推荐 google)。

    VID、PID在这份例程中是和LPCOPEN不同的,所以驱动略不同。
    Btw,管理员,我在internal里也这么回复了~



    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    4
    最后登录
    2016-11-11
    发表于 2016-11-11 21:59:30 | 显示全部楼层
    请问哪里可以下载到 “恩智浦提供的USB驱动程序“,win7/64bit.
    这个驱动是虚拟串口吗?还是就是个USB设备,有DLL或LIB文件用于编程吗?
    谢谢各位。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-13 12:05 , Processed in 0.138560 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表