AnsweredAssumed Answered

USB Error 0x10 and 0x0 with MQX USB MSD Disk example code

Question asked by Bob Fu on Apr 19, 2012
Latest reply on Jun 5, 2012 by Martin Kojtal

Hi Freescale Support,

 

The problem reported below probably indicates some kind of problems in USB device driver code. I hope someone in Freescale could take a look and fix it. The following are simple steps to reproduce it:

 

1) Compile PSP, BSP, MFS, RTCS, Shell, and USB libraries for kwikstik

 

2) Import and build unchanged example project MQX3_8\usb\device\examples\msd\disk\cw10\msd_disk_kwikstikk40x256 in CW 10.2. My build machine is running on Windows 7 32 bit.

 

3) Use menu Run | Debug Configurations to load and run it without any breaking point. Hit run icon to let it run if it breaks.

 

4) Connect the other USB port to a Windows 7 64 bit machine in order to use the newly created MSD disk.

 

Now every 1 or 2 minutes, the following 2 lines will be output in debug console in CW10.2:

 

USB Err: 0x10

USB Err: 0x0

 

with the 1st time (on plugging in) breaking at:

 

void

_mqx_idle_task

   (

     

/* [IN] parameter passed to the task when created */

     

uint_32 parameter

   )

{

/* Body */

  

volatileKERNEL_DATA_STRUCT _PTR_ kernel_data;

 

   _GET_KERNEL_DATA(kernel_data);  <---- break here

 

 

BTW, if choose Run | Run Configurations, it will end up with "terminated, exit code 0" quickly. Is this behavior normal? Does it suppose to run continously in some kind of loop instead of exiting?

 

Also can Freescale make this example to run in USB 2 high speed instead of full speed by default? It does not make sense to run at low speed when most USB ports are capable of high speed now. It'd be better to have a good and solid USB MSD example as a starting point for users like me.

 

Please take a look.

 

Thanks,

bobf

 

Outcomes