On Fri, Oct 12, 2012 at 7:05 PM, g...@novadsp.com <g...@novadsp.com> wrote:
> Blackfin based firmware gets closer to release. I'm out of time to add
> composite device support to the ADI driver stack, so by default it is a
> mass storage device.
>

It may not be as difficult as you think to make your firmware a
USB composite device. In you case, you need to add a second
interface (say Interface 1) without any endpoint associated
(basically just using the control endpoint).

In this case, you can use winusb/libusbx with this Interface 1
and USB Mass Storage with Interface 0. In that case, you
use interface 1 for your intended configuration data communication
through the control endpoint.

Reference:
http://www.osronline.com/showthread.cfm?link=191818

What you need to change in your firmware are like the following.
1) descriptor change to add Interface 1
2) in your firmware sections which deals with set-interface standard
request, you need to take care of both interface 0 and 1.
3) For the vendor specific request (through control transfer), you
can deal it just like there is no interface 1.

This is not a full-blown composite device framework but you
do not need that anyway.


-- 
Xiaofan

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to