This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320C6747: USB driver Windows 10 enumeration

Part Number: TMS320C6747

I'm trying to make some revisions to an old legacy project.

We have a board which uses a C6747 DSP, and a software project using DSP/BIOS Our USB driver on the C6747 side were written using the mini-driver approach; it's split into a usbhw.c and usbmd.c files. On the Windows 10 side, we are using libusb and on a working system, in the device manager, the USB shows up with a name under our companies category.

It's been years since I worked on this platform, and some knowledge has been lost to time. I'm not exactly sure how to troubleshoot. I'll explain my issue.

Using the legacy firmware project, the system works perfectly. I've attempted to make some revisions, and have run into a situation where on that project, the USB doesn't enumerate in Windows correctly. It shows up under the category, "Universal Serial Bus Controllers->Unknown USB Device (Invalid Configuration Descriptor).

There doesn't seem to be anything in the USB code which explains timings or RTOS priority or anything. The TCF contains the lines:

// USB
bios.HWI_INT4.fxn = prog.extern("usb_isr");
bios.HWI_INT4.useDispatcher = 1;

bios.UDEV.instance("USB0").initFxn = prog.extern("USBMD_init");
bios.UDEV.instance("USB0").fxnTableType = "IOM_Fxns";
bios.UDEV.instance("USB0").fxnTable = prog.extern("USBMD_Fxns");

When I've used the hardware platform previously, I've not run into USB issues on the firmware side before, so I am not sure how to troubleshoot this? It seems like there is some interaction between the firmware and Windows that is happening out of my control. Any suggestions on how to proceed are welcome. I can provide more detail if necessary.