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

Hi,

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

USBClockEnable(USB0_BASE, 8, USB_CLOCK_INTERNAL);


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


It stays here:
/* Block while the device is NOT connected to the USB */
USBCDCD_waitForConnect(BIOS_WAIT_FOREVER);

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



Versions:
tirtos_tivac_2_16_00_08
TivaWare_C_Series-2.1.1.71b
CCS: 11.1.0.00011 
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
    Gergely

  • Hello Gergely,

    Have you tried to install the latest USB drivers?

    If not, download our latest TivaWare SDK from https://www.ti.com/tool/SW-TM4C and do a manual driver installation to the path [Install Path]\TivaWare_C_Series-2.2.0.295\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
    Gergely

  • Hi Gergely,

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

    Best Regards,

    Ralph Jacobi