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