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.

TMS320F28378S: USB Library Software

Part Number: TMS320F28378S
Other Parts Discussed in Thread: C2000WARE

Hi, 

We are having some difficulty getting the USB software for the TMS320F28378S working properly. We've done our best to follow the usb_ex4_dev_bulk.c example in C2000 Ware, however it is a bit challenging since many of the important functions are commented out. 

The code we are using to initialize the USB software looks like below. If we set a breakpoint in either INT_myUSB0_ISR, USBBufferEventCallback, or RxHandler, the breakpoint is never hit -- even if we disconnect / connect the host several times. 

static tUSBDBulkDevice usb_bulk_device =
{
SECRET_VID,
SECRET_PID,
125,
USB_CONF_ATTR_SELF_PWR,
RxHandler,
(void *)&g_sRxBuffer,
USBBufferEventCallback,
(void *)&g_sTxBuffer,
g_pStringDescriptors,
sizeof(g_pStringDescriptors),
};

interrupt void INT_myUSB0_ISR(void)
{
USB0DeviceIntHandler();
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP9);
}

void ConfigureUSB()
{
static void* pvdevice = NULL;
GpioCtrlRegs.GPBAMSEL.bit.GPIO42 = 1; // Enable USB operation on GPIOs
GpioCtrlRegs.GPBAMSEL.bit.GPIO43 = 1; // Enable USB operation on GPIOs
GPIO_SetupPinOptions(43, GPIO_INPUT, GPIO_PULLUP);
InitAuxPll(XTAL_OSC, 3, 0, 0); // XTAL oscillator is 20 MHz, need 60 MHz Pll output

USBBufferInit(&g_sTxBuffer);
USBBufferInit(&g_sRxBuffer);
Interrupt_register(INT_USBA, INT_myUSB0_ISR);
USBStackModeSet(0, eUSBModeForceDevice, ModeCallback);
pvdevice = USBDBulkInit(0, &usb_bulk_device);


}

We can verify with an oscilloscope that there is traffic on the USB D+- lines. The host recognizes that a USB device has been connected since D+ is pulled up, however since the device software does not respond, the USB drivers indicate "device descriptor request failed". 

Any guidance here is greatly appreciated. 

Thanks!