SimpleUSB & Windows 7

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SimpleUSB & Windows 7

Jump to solution
3,269 Views
MSe
Contributor I

Hello,

I'm developing a USB device, using the microprocessor JM32, and a Windows software for communicating with it, using Visual Basic 2010 and the library SimpleUSB.dll provided by Freescale (I've followed the tutorial "USBJM_Training GUI").

 

I've no problem under Windows XP SP3 (communication ok, all data bytes sent and received correctly).

Instead under Windows 7 64 bit I've this issue: the driver seems to have been correctly installed (after a little modification to the inf file generated by the tool "WinUSB INF Generator"), but the software isn't able to connect to my device.

 

The question is: is SimpleUSB.dll compatible with Windows 7 64 bit?

 

Thanks in advance to anyone who can help me.

.

Labels (1)
0 Kudos
Reply
1 Solution
915 Views
Tsuneo
Contributor IV

Above INF file is fine.

SimpleUSB.dll refers to FSLwinusb.dll, a simple WinUSB wrapper DLL made by Freescale for ColdFire MCF522xx. SimpleUSB.dll is a .NET DLL for Any CPU, but FSLwinusb.dll is an unmanaged 32bit DLL.

1) Build your application for x86 platform, instead of Any CPU (Project > Property > Build: Platform target)

2) Place your application with these DLLs into a folder under C:\Program Files(x86) of Win7 x64.

Tsuneo

View solution in original post

0 Kudos
Reply
3 Replies
915 Views
admin
Specialist II

I have the same problem when using jm60 with win7 64 bit

below is my inf file.  I wonder if someone could give us advice.  

 

[Version]
Signature = "$Windows NT$"
Class =TESTUSB
ClassGuid={53ccbae0-fa18-48d6-b01f-24aceb83abd1}
Provider = %ProviderName%
DriverVer = 07/05/2009,7.0.0
;CatalogFile=MyCatFile.cat

; ================== Class section ==================

[ClassInstall32]
AddReg=SampleClass_RegistryAdd

[SampleClass_RegistryAdd]
HKR,,,,%ClassName%


; ========== Manufacturer/Models sections ===========

[Manufacturer]
%ProviderName% = MyDevice_WinUSB,NTx86,NTamd64

[MyDevice_WinUSB.NTx86]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_15A2&PID_0050&REV_0100

[MyDevice_WinUSB.NTamd64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_15A2&PID_0050&REV_0100

; =================== Installation ===================

;[1]
[USB_Install]
Include=winusb.inf
Needs=WINUSB.NT

;[2]
[USB_Install.Services]
Include=winusb.inf
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall

;[3]
[WinUSB_ServiceInstall]
DisplayName     = %WinUSB_SvcDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WinUSB.sys

;[4]
[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfServiceOrder=WINUSB

[WinUSB_Install]
KmdfLibraryVersion=1.9

;[5]
[USB_Install.HW]
AddReg=Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{05f2aaf3-b265-4c31-8ffb-0128cd72bbda}"
                                                                

;[6]
[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"


[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

; ================= Source Media Section =====================
;[7]
[SourceDisksNames]
1 = %DISK_NAME%,,,\x86
2 = %DISK_NAME%,,,\amd64

[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll=1
WdfCoInstaller01009.dll=1

 

[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll  = 2
WdfCoInstaller01009.dll =2
; =================== Strings ===================

[Strings]
ProviderName="MyDevice_WinUSB"
ClassName="TESTUSB"
USB\MyDevice.DeviceDesc="TESTUSB"
WinUSB_SvcDesc="TESTUSB"
DISK_NAME="Drivers"

 

0 Kudos
Reply
916 Views
Tsuneo
Contributor IV

Above INF file is fine.

SimpleUSB.dll refers to FSLwinusb.dll, a simple WinUSB wrapper DLL made by Freescale for ColdFire MCF522xx. SimpleUSB.dll is a .NET DLL for Any CPU, but FSLwinusb.dll is an unmanaged 32bit DLL.

1) Build your application for x86 platform, instead of Any CPU (Project > Property > Build: Platform target)

2) Place your application with these DLLs into a folder under C:\Program Files(x86) of Win7 x64.

Tsuneo

0 Kudos
Reply
915 Views
admin
Specialist II

It works.

 

Thank you very much Tsuneo, 

 

 

0 Kudos
Reply