This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

problem with driver USB, CSL

 
hi all
I develop usb driver for tms320c5509a, use example spectrum digital
I connect on usb board and OS Linux. Linux driver - usb_skeleton.c (see any kernel 2.6 /driver/usb/usb_skeleton) make idVendor = 0x0C55 idProduct = 0x1234
First receive from host (work out_end poin2)
if ( USB_isTransactionDone( &usbEpObjOut2 ) ) 
{
    USB_postTransaction(&usbEpObjOut2, Endpt2BuffLen, &Endpt2Buff, USB_IOFLAG_NONE );
}
lose data. as a result of i send 1026 byte receive 962 byte, next 1026 byte it's ok. First packet is lost. What is the reason ? 
 
question 2: I count number byte from host as summa += Endpt2Buff[0]. correct I do?
 
question 3: why request USB_reqSetConfiguration call function USB_postTransaction(&usbEpObjOut2, Endpt2BuffLen, &Endpt2Buff, USB_IOFLAG_NONE ); (I not see this in USB specification. this string rem - not work receive out_end poin_2) ?
 
post call function USB_Init(USB0) - call function void USB_bulkInEvHandler()- send to host through in_end_point2 Why it's done ? 
 
 
P.S. sorry for bad english

  • I could not understand your questions very well; but I will try to answer.

    1. Did you pass the emulation?

    2. How/when is the data is lost? is it lost during enumeration? or during normal data transfer?

    3. yes, the bytes of for a whole package should be received in the endpoint memory.

     

    Wen