Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

How to write USB drivers ?

Status
Not open for further replies.

kekon

Full Member level 3
Joined
Sep 19, 2002
Messages
156
Helped
5
Reputation
10
Reaction score
3
Trophy points
1,298
Location
Poland, Białystok
Activity points
1,493
I know exactly that the answer to my question is very difficult.
However, i have managed to understand USB protocol at last at the side of USB device. It's bot as difficult as it seems. The most difficult thing is to properly send device descriptors to the host. The rest is simple. More and more popular microcontrollers are supplied with USB harware port. One can utilize USB port to interface them to the PC by means of standard device class cuh as Mass Storage Class or Communication Class. However, it's not always convinient way of transferring data to the device. The device will shown itself in the PC as additional COM Port or a disc. I was told that USB drivers can work in user mode. Is it possible to access USB ports using API functions ?
The second question i want to ask is how to learn windows architecture and writing drivers in more convinient and clearer way that this is done in DDK ?
 

elec4fun

Full Member level 3
Joined
Jan 24, 2005
Messages
159
Helped
38
Reputation
76
Reaction score
31
Trophy points
1,308
Location
Nice, France
Activity points
897
Hi,

You don't need to write a specific driver for your application. You should use a generic driver which is able to handle iso, bulk and/or interrupt transferts.

Libusb is a free generic driver but it dosen't support isochronous transfert. However, it is easy to use and available on linux and windows (libusb for c# too...).

I use winusb. This driver is provided by microsoft in the vista wdk. This driver works perfectly on WinXP.

Those two driver are the only free generic driver I know .There is also some free drivers provided by chip manufacturer (cypress, microchip,...) but I'm not sure you can use it if you don't use their chip...

Regards,
Franck.
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top