AnsweredAssumed Answered

Problem with usb bulk mode

Question asked by Antoine T on Dec 3, 2015
Latest reply on Dec 16, 2015 by isaacavila

Hello,

 

On the FRDM-k64F, I'm having trouble with the USB connection.

 

The idea of my project is to use the FRDM as a simple device (without any class driver configured, MQX standard is the OS) and communicate with host via bulk mode.

I used Processor Expert to start the project and the beginning seemed ok : endpoint 0 is working correctly and vendor class commands are fonctionnal.

 

Here is the descritpion of the device seen by host (via /proc/bus/usb/devices command)

 

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0

D:  Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0c52 ProdID=9474 Rev= 1.00

S:  Manufacturer=Freescale Processor Expert

S:  Product=Processor Expert USB Device component

S:  SerialNumber=123456789ABCDEF

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

 

However, I failed to communicate with endpoint 1 or 2.

I have tested my bulkRead() and bulkWrite() functions with another device and everything was fine on this side.

I tried to debug the code on the device but I saw no interruptions when the read/write is done on the host. It's like they didn't exist.

Here is the sequence I used thanks to the generated code by Processor Expert :

 

usb_device_init(USB_CONTROLLER_KHCI_0, usb_board_init, &usb_handle);

usb_device_postinit(USB_CONTROLLER_KHCI_0, usb_handle);

 

usb_device_register_desc_request_notify(usb_handle, &usbDsc1_desc_callback, NULL);

usb_device_register_vendor_class_request_notify(usb_handle,usb_vendor_class_request,NULL);

 

usb_device_init_endpoint(usb_handle,&IOComms_EndpointInfoArray[0],TRUE);

 

The status of the device_init_endpoint is ok. What am I missing to complete communication with endpoint 1 ?

 

Thanks in advance for the help!

 

Antoine

 

PS : my environnement is KDS 3.0.0 / Ubuntu

Outcomes