Reply by Sound Consulting March 26, 20102010-03-26
USB Device Descriptors are just a label, they do not implement
functionality. When you change deviceDesc, you only change what your
C5505 hardware is advertising, not what it can actually do. That is
only the first, small step of many. You also need to write firmware
that implements one or more endpoints in a way that is compatible
with a USB Communications Device.

There is no guide which specifically tells how to make a C5505 become
a USB CDC device. You should obtain the USB CDC Communications Class
documents, along with several other USB documents, and study the full
protocol. Some of the details of the protocols are generic, and will
be handled automatically by the CSL USB code. However, many of the
other details will be specific to your "virtual COM port"
requirements, and these you will have to provide.

Fortunately, you can obtain these documents from http://www.usb.org/
at no charge. Unfortunately, there is no cookbook or other quick and
easy list of exactly what you need to do to make your hardware work.

Brian Willoughby
Sound Consulting
On Mar 18, 2010, at 09:33, r...@hotmail.com wrote:
> i have one problem, i get some data from sensor and stored in DSP
> C5505, and i want output these data throught usb to PC, and usb as
> a virtual com port, i modify only the device descriptor and
> configuration descriptor, Pc can recognise the usb in a right way,
> but can not treat as a com port. the code below is the changed
> descriptor from TI CSL .
>
> i want to ask that do i need a data interface inside this
> configuration descriptor, and i tried a lot of place inside and
> also change the cooperate endpoint and correspond transaction code
> in CSL, but the PC can not recognise it anymore. so i wana know
> that which things i need to set and program for the purpose of
> communicating with PC through usb as a virtual com port .
>
> Uint16 deviceDesc[9] = {0x0112, 0x0200, 0x0002, 0x4000, 0x0451,
> 0x9010, 0x0000, 0x0201, 0x0103};
>
> cfgDesc[60] = {0x09,0x02,0x3C,0x00,0x01,0x01,0x00,0xA0,0x00,
> configuration descriptor
> 0x09,0x04,0x00,0x00,0x06,0x02,0x02,0x00,0x00, interface descriptor
> 0x07,0x05,0x81,0x02,0x40,0x00,0x00,endpoint descritpor number 1 in
> 0x07,0x05,0x01,0x02,0x40,0x00,0x00,endpoint descritpor number 1 out
> 0x07,0x05,0x82,0x02,0x40,0x00,0x00,endpoint descritpor number 2 in
> 0x07,0x05,0x02,0x02,0x40,0x00,0x00 endpoint descritpor number 2 out
>
> 0x07,0x05,0x83,0x02,0x40,0x00,0x00,endpoint descritpor number 3 in
> 0x07,0x05,0x03,0x02,0x40,0x00,0x00,};endpoint descritpor number 3 out
Reply by reyn...@hotmail.com March 18, 20102010-03-18
hello,

i have one problem, i get some data from sensor and stored in DSP C5505, and i want output these data throught usb to PC, and usb as a virtual com port, i modify only the device descriptor and configuration descriptor, Pc can recognise the usb in a right way, but can not treat as a com port. the code below is the changed descriptor from TI CSL .

i want to ask that do i need a data interface inside this configuration descriptor, and i tried a lot of place inside and also change the cooperate endpoint and correspond transaction code in CSL, but the PC can not recognise it anymore. so i wana know that which things i need to set and program for the purpose of communicating with PC through usb as a virtual com port .

Thanks

Uint16 deviceDesc[9] = {0x0112, 0x0200, 0x0002, 0x4000, 0x0451,
0x9010, 0x0000, 0x0201, 0x0103};

cfgDesc[60] = {0x09,0x02,0x3C,0x00,0x01,0x01,0x00,0xA0,0x00,
configuration descriptor
0x09,0x04,0x00,0x00,0x06,0x02,0x02,0x00,0x00, interface descriptor
0x07,0x05,0x81,0x02,0x40,0x00,0x00,endpoint descritpor number 1 in
0x07,0x05,0x01,0x02,0x40,0x00,0x00,endpoint descritpor number 1 out
0x07,0x05,0x82,0x02,0x40,0x00,0x00,endpoint descritpor number 2 in
0x07,0x05,0x02,0x02,0x40,0x00,0x00 endpoint descritpor number 2 out

0x07,0x05,0x83,0x02,0x40,0x00,0x00,endpoint descritpor number 3 in
0x07,0x05,0x03,0x02,0x40,0x00,0x00,};endpoint descritpor number 3 out