We have been busy trying to use the Freescale USB library and create a Composite device – HID + MSD for VeraVanti.
We have had many issues with the USB library and the KDS tools (L). We have finally successfully built a Composite device that enumerates both the HID and MSD devices, however, we are getting several other errors that we do not have access to debugging. We are getting errors as trapped by the USB analyzer – see below. One is an Operations “Cancelled” and the other one is XACT_ERROR. see attached pictures USB_Error_*.jpg.
Both the HID and MSD complete the enumeration process, but the MSD device gives an error 0xa – Device Cannot Start. I have tested this on both your RAM-DISK example and on my custom code (based on your tutorial). (note that your RAM-Disk example – does not work).
The XACT error : “This error is reported to USB device drivers by the Microsoft USB core driver stack via the USB status code USBD_STATUS_XACT_ERROR if the USB EHCI host controller sets the Transaction Error (XactErr) bit in the USB transfer descriptor upon completion of the USB transfer. “
We are using the KHCI version of the USB Stack. We tried to build the EHCI version, but it does not build. I am convinced the error is in the USB stack as we cannot trap the error condition and all the descriptors are properly verified by both Windows and by the USB analyzer.
To test the MSD I am using the RAM-Disk example. Eventually I will swap this out for a Spansion flash chip.
we are using the FRDM-KL26Z Freedom board to prototype.
Hi John
In case you don't have success with the framework that you are working with you can also check out a complete, industrially proven solution that will allow you to simply create reliable composite devices (with MSD + HID), including Kinetis + USB simulation so that there are no development/debugging complications.
Details at links below and supported in this forum.
Regards
Mark
Kinetis: µTasker Kinetis support
KL26: µTasker Kinetis FRDM-KL26Z support / µTasker Kinetis Teensy LC support
USB User's Guide: http://www.utasker.com/docs/uTasker/USB_User_Guide.PDF
Composite USB: µTasker USB Device Configuration
For the complete "out-of-the-box" Kinetis experience and faster time to market