Hi,
I am using the TIVA TM4C129XNCZAD to create an application that uses a USB port to act as a composite device supporting a custom HID, CDC, and a mass storage device. I am able to get both the custom HID and CDC working and I am currently adding the mass storage. If I configure the USB port to be standalone mass storage device, the port actually works and is recognized by the PC as a mass storage drive (I have not tried file access or data transfer yet over this interface).
However, if I use USBDMSCCompositeInit to initialize the mass storage to be under a composite device, the PC does not see the mass storage device. Using a USB sniffer, I see that the TIVA is stalling on both the Get Max LUN message and the Control Transfer message.
With the MSD in standalone USB, the sniffer shows that both messages go through.
I have scrubbed my code and the TI documentation several times already - I even found an error in the TI USB documentation spmu297a.pdf:
p144-145
//
// The media access functions.
//
{
USBDMSCStorageOpen,
USBDMSCStorageClose,
144 May 07, 2015
Device Functions
USBDMSCStorageRead,
USBDMSCStorageWrite,
USBDMSCStorageNumBlocks
},
tMSCDMedia defined in the usblib is defined as having 6 elements.
The code to add the MSD is also quite straightforward. At this point, I am suspecting that there is a bug in the TIVA USB library. Please confirm or deny and give guidance.
-Yan