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.

TM4C1290NCZAD: Porting the CDC Serial USB Communication example from the EK-TM4C1294NCPDT chip

Part Number: TM4C1290NCZAD
Other Parts Discussed in Thread: EK-TM4C1294XL, , SYSBIOS, DK-TM4C129X


I have a TI EK-TM4C1294XL Launchpad and I tried out the usb serial device example project from TivaWare with TI-RTOS.

If I program it to the microcontroller it is working fine I see the text that is sent periodically on a virtual COM Port on the PC.
But on the board what we developed we have a TM4C1290NCZAD microcontroller and I would like to have now exactly the same
functionality on our custom board. 

I changed the MCU in the Build properties I have the correct cmd file for the MCU.
In the Predefines I changed the MCU to PART_TM4C1290NCZAD
In the TM4C1294XL.c file I commented out 2 lines in the initEMAC function because GPIO_PF0_EN0LED0 was not defined but this function is not called anyways

// GPIOPinConfigure(GPIO_PF0_EN0LED0); /* EK_TM4C1294XL_USR_D3 */
// GPIOPinConfigure(GPIO_PF4_EN0LED1); /* EK_TM4C1294XL_USR_D4 */

I can build the code without errors but I have some warnings which I did not have for the 1294XL

If I put this code on the 1290NCZAD and start it Windows writes me that it is a not recognized USB device and in the Device Manager I see "Unknown USB Device(Device Descriptor Request failed)

It is not shown as a COM Port.

The USB on the board is working because others wrote some drivers without TI-RTOS and it can echo bak what I send to the board.

If I add these lines to the void EK_TM4C1294XL_initGeneral(void) function which is called at the beginning then I get a virtual COM port
everything looks fine on the PC but I cant receive anything from the board and it also does not receive anything from the PC


SysCtlVCOGet(SYSCTL_XTAL_12MHZ, &ui32PLLRate);
USBDCDFeatureSet(0, USBLIB_FEATURE_CPUCLK, &ui32SysClock);

It stays here:
/* Block while the device is NOT connected to the USB */

and then goes to an AllBlocked part deep in to the SysBios.

Windows 10 PC

XDS200 USB Debugger on the custom board

The USB pins are the same on both boards.

I would be really happy if someone would have any suggestions how could I port this simple example to the 1290NCZAD because I could not make it work.

Thanks in advance!

  • Hello Gergely,

    Rather than porting from EK-TM4C1294XL folder, have you tried using the example in the DK-TM4C129X folder? That is our developers kit with a BGA device on it. Its a superset device but the code should work just fine on your TM4C1290NCZAD.

    Best Regards,

    Ralph Jacobi

  • Hi Ralph,

    thank you very much for your quick anwer. I tried also this example project but it results the same way that the PC says that I have an unkown usb device and the descriptor reqest failed. I took the example project changed the cpu from 129x to 1290NCZAD and removed the initialization of the LCD and also the pin configurations that I dont need just the USB pins were configured. The compiler was now a way never one. The original was compiled with the 5.2.6 and for the 1290 I had to choose the 20.2.6. I dont know if that could be a problem.

    Best Regards

  • Hello Gergely,

    Have you tried to install the latest USB drivers?

    If not, download our latest TivaWare SDK from and do a manual driver installation to the path [Install Path]\TivaWare_C_Series-\windows_drivers

    These drivers were updated in 2.2.0 to support Windows 10.

    Best Regards,

    Ralph Jacobi

  • Hallo Ralph,

    yesterday I managed to solve the problem. I used again the demo project from the EK-TM4C1294XL but I recognized that our board has a 12MHz Crystal and the EVK has a 25MHz so I had to change that in SysBios and now it is working fine.
    But still thanks for your help and your efforts I appreciate it!

    Best Regards

  • Hi Gergely,

    I see, yes that would certainly explain the issue! Glad you were able to figure it out.

    Best Regards,

    Ralph Jacobi