I am using MQX v5 (usb stack v2.1) on imx1050 with custom board (hardware is very close to evkb).
Writing file to USB key sometime failed with error 0xA07 on fclose.
When this error occur, i could not write anymore on the key, any other fwrite return A07.
I have performed a USB capture :
There is a CRC error on out transaction. Note that the packet size look incorrect.
After that, a correct Out data transaction occurs, but the IN CSW transaction is missing.
The Host perform Reset Recovery procedure, but the USBkey always answer with 02hPhase Error :
To find what can cause the original CRC error i have remove all task exept the USB host task.
I have setup 6 task that write on two different file every 100ms.
Everything worked well, i have writed 1h on the USB key without any error.
I was suspecting something wrong in aplication task (embeded wizard) so decided to wrote a very simple Test_LCD task who draw on the LCD screen.Surprisingly with this task, usb write test failed.Whitout, it works. This task only write in the eLCD frame buffer
I have attached the code of those test_task
I can't figure out want's going on here.
I have two question :
How the LCD_test task could cause USB crc error ?
In any case, why the USB host task can't recover this little CRC error ?