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.

RTOS/TM4C129ENCPDT: Migrating from CCS to GCC in Linux

Part Number: TM4C129ENCPDT

Tool/software: TI-RTOS

Hi,

I am working in a project for migrating the project compilation from CCS to GCC in Linux. So i have to compile a project in linux with GCC compiler without the use of CCS.

I have installed GCC compiler but now struck at installing TI RTOS as a standalone project.

I have downloaded tirtos_tivac_setuplinux_2_16_01_14.bin file but unable to install it.

I tried the following commads

sudo chmod +x tirtos_tivac_setuplinux_2_16_01_14.bin

./tirtos_tivac_setuplinux_2_16_01_14.bin

But i see nothing in the terminal. I cant able to find ti/tirtos_tivac_2_16_01_14 , ti/xdctools_3_32_01_22_core which are needed build that project in Linux GCC.

Kindly help me ASAP.  Also mention if I'm doing anything wrong in migrating that project to GCC linux

Thanks,

Sudhanthiradasan

  • There is a click-wrap acknowledgement you need to do. Do you do this?

    Todd
  • sudhanthiradasan R said:

    I tried the following commads

    sudo chmod +x tirtos_tivac_setuplinux_2_16_01_14.bin

    ./tirtos_tivac_setuplinux_2_16_01_14.bin

    But i see nothing in the terminal.

    The tirtos_tivac_setuplinux_2_16_01_14.bin installer is a 32-bit application, and if run on a 64-bit Linux installation without the required 32-bit libc installed will probably silently exit - E.g. see extracting C5000 Compilers on linux.

    The command to install the 32-bit libc varies between Linux distributions; see http://processors.wiki.ti.com/index.php/Linux_Host_Support_CCSv7 for some examples.

    If a missing 32-bit libc isn't the cause of the installer silently exiting, running the installer under strace may identify the problem.

  • Thanks Chester I'm able to run those bin files now.

    Also started the compilation in GCC

    Now I'm seeing undefined reference to many functions . I just named those functions below

    `GPIOPinWrite'`SysCtlReset' `GPIO_read'`I2C_open'`I2C_Params_init'`I2C_transfer'
    `UART_Params_init'`UART_open' `GPIO_write'`UART_write'
    `UART_read' `SysCtlDelay' `GPIOPinTypeGPIOOutput'
    `GPIOPinWrite' `GPIO_setCallback'`GPIO_enableInt'`GPIO_write'
    `GPIO_read'`UART_Params_init'`uDMAErrorStatusGet' `SysCtlPeripheralEnable'
    `EMAC_init'`GPIOPinTypeI2CSCL'`UARTTiva_fxnTable' `I2CTiva_fxnTable'
    `strtoumax' `__ctype_ptr__' `RingBuf_peek' `RingBuf_put'
    `USBBufferDataAvailable' `uDMAErrorStatusGet'`GPIOPinWrite' `EMACPHYWrite'
    `SysCtlDelay'

    Seems like these are library functions.

    Even after adding -lgr -lusb -ldriver libraries along with their include paths I'm getting those errors.

    Please kindly help me to resolve this.
  • sudhanthiradasan R said:
    Even after adding -lgr -lusb -ldriver libraries along with their include paths I'm getting those errors.

    Can you show the complete build output, including the command line and errors?

    With tirtos_tivac_2_16_01_14 installed in Ubuntu I was able to successfully import, build and run the tcpEcho_EK_TM4C1294XL_GNU_TivaTM4C1294NCPDT example which uses the GCC compiler.

  • almost all the undefined references solved by adding libraries after the object files. But now i'm seeing undefined errors only to 'strtoumax'.
  • Can you edit the tirtos.mak to remove the extra '/'. Note on the second line of the build log, there are two '/' together. I don't work with Linux much so that might be fine.

    /home/fbdas/ti/tirtos_tivac_2_16_01_14//products/bios_6_45_02_31//packages
  • sudhanthiradasan R said:
    But now i'm seeing undefined errors only to 'strtoumax'.

    With a test program can link the strtoumax when using the TI v16.9.3.LTS compiler, but get an undefined symbol error for strtoumax with the GCC v4.9.3 compiler.

    With the GCC v4.9.3 compiler there is a function prototype for strtoumax in <inttypes.h>, but no declaration for the strtoumax function in the libraries supplied with the GCC compiler. As a work-around try using strtoull() instead of strtoumax (). For the GCC v4.9.3 compiler the uintmax_t typedef is unsigned long long which means the strtoull() function takes the same arguments as strtoumax().

  • Thanks Chester.. Compiled successfully after changing it to strtoull