EmbeddedRelated.com
Forums

Developing Application software for a USB host

Started by faiyaz June 28, 2008
faiyaz wrote:

> Do i need to refer MSDN website to know how to access isochronous endpoint > and how to do data transfer with those?
I'd strongly recommend you read "USB Complete" by Jan Axelson. It's a good introduction to the workings of USB and interaction with drivers. If you're targetting Windows, I'd also suggest you download and install the latest WDM Driver Kit and do some reading - especially if you haven't written a Windows Device Driver before. There's a lot to wade through to find information relevant to your device, but it's in there somewhere... BTW I can sympathise with your dilemma - my first USB driver project was very difficult to get off the ground simply because I had no idea even what sort of (Windows) driver I should be writing for my device, let-alone how to do it! :O Whether or not your device requires a device driver depends on the nature of the device and how you choose to present that device to Windows. Some devices, such as "standard" mice and keyboards, conform to a standard known as HID. Windows provides a generic HID Class Driver that allows direct application access to USB HID devices without the need to write another driver. That's because HID devices are well-defined plug-and-play devices that fully enumerate their I/O capabilities. Other devices, such as USB serial ports, may also make use of standard Windows drivers such as USBSER.SYS (warning: buggy as hell). These allow properly configured USB serial devices to appear in Windows without a vendor-supplied device driver. There are also several generic device drivers and/or frameworks which allow user-mode access to custom USB devices, such as the Jungo or WinDriver tools. Similar is the BULKUSB.SYS example in the WinDDK which allows application access to a device's bulk endpoints. These of course simplify software design with the penalty of user-mode execution and limitations. Not having used isochronous endpoints myself, I can't recall whether or not there's any "easy" solution to your problem. No doubt the Jungo tools will support them, but you'll be paying for it. Not knowing anything about your device, I'm guessing that unless you go Jungo, you'll be learning how to write your own USB device driver... good luck! Regards, -- Mark McDougall, Engineer Virtual Logic Pty Ltd, <http://www.vl.com.au> 21-25 King St, Rockdale, 2216 Ph: +612-9599-3255 Fax: +612-9599-3266
ok...I am trying to use libusb-win32 for my device. but as i had installed
ATM6124.sys previously, windows now does not allow me to use a different
device driver.  And i cannot also delete entries in the registry.  I have
to rename the libusb0.sys to atm6124.sys to use it.  And when i do that and
run the sample application exe from ATMEL to test the device i am getting a
runtime error(unhandlled exception).   
Do you have any sample application code to test a device isochronous
transfer?

Thanks in advance.
Faiyaz
Op Thu, 03 Jul 2008 07:44:26 +0200 schreef faiyaz <faiyaz.pw@gmail.com>:
> ok...I am trying to use libusb-win32 for my device. but as i had > installed > ATM6124.sys previously, windows now does not allow me to use a different > device driver. And i cannot also delete entries in the registry. I have > to rename the libusb0.sys to atm6124.sys to use it. And when i do that > and > run the sample application exe from ATMEL to test the device i am > getting a > runtime error(unhandlled exception). > Do you have any sample application code to test a device isochronous > transfer?
Other than advising you to remove drivers via the devmgmt.msc applet, I cannot help you further with this. -- Gemaakt met Opera's revolutionaire e-mailprogramma: http://www.opera.com/mail/