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.

EK-TM4C1294XL: Help with TI Clang Project Setup for TM4C1294NCPDT – Missing Startup and Linker Files

Part Number: EK-TM4C1294XL
Other Parts Discussed in Thread: TM4C1294NCPDT,

Tool/software:

Dear TI Team,

I’m currently using Code Composer Studio (CCS) v12.8.1 and evaluating the use of the TI Clang v4.0.2.LTS compiler for development with the TM4C1294NCPDT microcontroller on the EK-TM4C1294XL evaluation board.

When creating a new project with this device and the TI Clang toolchain, I receive the following warning:

"Selected device does not currently provide project initialization details for the TICLANG toolchain. The project may require further manual setup."

As a result:

  • No startup file or linker command file  is included in the project.
  • The build produces the following warnings:
    warning #10247-D: creating output section ".text" without a SECTIONS specification
    warning #10247-D: creating output section ".stack" without a SECTIONS specification
    warning #10210-D: creating ".stack" section with default size of 0x800;

I added a minimal example to set an LED on (Port N, Pin 0), and while the project compiles and flashes, it appears the code does not enter main(), and the LED does not respond.

Could you please advise:

  1. How can I manually set up a Clang-based project for TM4C1294NCPDT?
  2. Where can I find the correct startup file and linker script compatible with the TI Clang toolchain?
  3. Is there an official example or workaround for using TI Clang with the TM4C129x series in CCS?

#include <stdbool.h>
#include <stdint.h>

#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
#include "inc/hw_memmap.h"

int main(void) {
  // Enable the GPIO port that is used for the on-board LED.
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION);

  // Check if the peripheral access is enabled.
  while (!SysCtlPeripheralReady(SYSCTL_PERIPH_GPION)) {
  }

  // Enable the GPIO pin for the LED (PN0).  Set the direction as output, and
  // enable the GPIO pin for digital function.
  GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE, GPIO_PIN_0);
  GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, GPIO_PIN_1);

  // Turn on the LED.
  GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, GPIO_PIN_0);

  while (1) {
  }
}

Thanks in advance for any help or insights.

Best regards,

Hassan