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.

Tiva TM4C1294NCPDT tcpEcho Build Error

Other Parts Discussed in Thread: MSP430F5529

Hello,


I just got my Tiva C Series TM4C1294 Connected LaunchPad in yesterday.  I tried to build the TI-RTOS tcpEcho example but the build failed.  I get the following error,

Description    Resource    Path    Location    Type
#35 #error directive: This platform is not supported by TI-RTOS currently.    .ccsproject    /test    line 272, external location: C:\ti\tirtos_tivac_2_00_01_23\packages\ti\drivers\ENV.h    C/C++ Problem

I checked the ENV.h file in c:\ti\tirtos_tivac_2_00_01_23\packages\ti\drivers\ENV.h and here are the first several lines of the file,

/** ============================================================================
 *  @file       ENV.h
 *
 *  @brief      Environment definitions for different platforms
 *
 *  ============================================================================
 */

#ifndef ti_drivers_ENV__include
#define ti_drivers_ENV__include

#ifdef __cplusplus
extern "C" {
#endif

/* MSP430F5529 and USCI devices */
#if defined(__MSP430F5529__)
#include <msp430.h>
#include <gpio.h>
#include <wdt_a.h>
#include <sfr.h>
#include <ucs.h>
#include <usci_b_i2c.h>
#include <usci_b_spi.h>
#include <usci_a_uart.h>

it looks to me that this file wants to initialize for MSP430F5529 and USCI devices.  By the way I created an empty CSS project using the "TI-RTOS for Tiva C --> kernal examples --> TI Target examples --> typical" project.  I then checked off in the "Products and Repositories" page the NDK, SYS/BIOS, TI-RTOS for Tiva C and 2.01.23.  I then copied the tcpEcho files into this project.  Can I get some help getting this to work?

Best Regards,

Steve Mansfield

  • Stephen Mansfield said:
    it looks to me that this file wants to initialize for MSP430F5529 and USCI devices.

    If look further down that file you should see support for Tiva devices:

    #if (defined(TIVAWARE) || defined(MWARE))
    #include <driverlib/ssi.h>
    #include <driverlib/watchdog.h>
    #else
    #include <driverlib/spi.h>
    #include <driverlib/wdt.h>
    #endif
    
    /* GPIO peripheral */
    #define ENV_GPIO_INT_FALLING            GPIO_FALLING_EDGE
    #define ENV_GPIO_INT_RISING             GPIO_RISING_EDGE
    #define ENV_GPIO_INT_BOTH_EDGES         GPIO_BOTH_EDGES
    #define ENV_GPIO_INT_LOW                GPIO_LOW_LEVEL
    #define ENV_GPIO_INT_HIGH               GPIO_HIGH_LEVEL
    
    #define ENV_GPIO_CALLBACK_AMT           8
    
    /* I2C definitions */
    #define ENV_I2C_BITRATE_100000          false
    #define ENV_I2C_BITRATE_400000          true
    
    /* UART definitions */
    #define ENV_UART_LEN_5                  UART_CONFIG_WLEN_5
    #define ENV_UART_LEN_6                  UART_CONFIG_WLEN_6
    #define ENV_UART_LEN_7                  UART_CONFIG_WLEN_7
    #define ENV_UART_LEN_8                  UART_CONFIG_WLEN_8
    
    #define ENV_UART_STOP_ONE               UART_CONFIG_STOP_ONE
    #define ENV_UART_STOP_TWO               UART_CONFIG_STOP_TWO
    
    #define ENV_UART_PAR_NONE               UART_CONFIG_PAR_NONE
    #define ENV_UART_PAR_EVEN               UART_CONFIG_PAR_EVEN
    #define ENV_UART_PAR_ODD                UART_CONFIG_PAR_ODD
    #define ENV_UART_PAR_ZERO               UART_CONFIG_PAR_ZERO
    #define ENV_UART_PAR_ONE                UART_CONFIG_PAR_ONE
    
    #if (defined(TIVAWARE) || defined(MWARE))
    /* SPI definitions */
    #define ENV_SPI_MASTER                  SSI_MODE_MASTER
    #define ENV_SPI_SLAVE                   SSI_MODE_SLAVE
    #define ENV_SPI_SLAVE_OD                SSI_MODE_SLAVE_OD
    
    #define ENV_SPI_POL0_PHA0               SSI_FRF_MOTO_MODE_0
    #define ENV_SPI_POL0_PHA1               SSI_FRF_MOTO_MODE_1
    #define ENV_SPI_POL1_PHA0               SSI_FRF_MOTO_MODE_2
    #define ENV_SPI_POL1_PHA1               SSI_FRF_MOTO_MODE_3
    #define ENV_SPI_TI                      SSI_FRF_TI
    #define ENV_SPI_MW                      SSI_FRF_NMW
    
    #else
    /* SPI definitions */
    #define ENV_SPI_MASTER                  SPI_MODE_MASTER
    #define ENV_SPI_SLAVE                   SPI_MODE_SLAVE
    
    #define ENV_SPI_POL0_PHA0               SPI_SUB_MODE_0
    #define ENV_SPI_POL0_PHA1               SPI_SUB_MODE_1
    #define ENV_SPI_POL1_PHA0               SPI_SUB_MODE_2
    #define ENV_SPI_POL1_PHA1               SPI_SUB_MODE_3
    #define ENV_SPI_TI                      (0)
    #define ENV_SPI_MW                      (0)
    #endif
    
    #else
    #error This platform is not supported by TI-RTOS currently.
    
    #endif
    

    Stephen Mansfield said:
    By the way I created an empty CSS project using the "TI-RTOS for Tiva C --> kernal examples --> TI Target examples --> typical" project.  I then checked off in the "Products and Repositories" page the NDK, SYS/BIOS, TI-RTOS for Tiva C and 2.01.23.  I then copied the tcpEcho files into this project. 

    To remove the "This platform is not supported by TI-RTOS currently." error you need to ensure that the TIVAWARE pre-defined name is added to the Compiler settings in the CCS project.

    Rather than copying the tcpEcho files into an empty CCS project, suggest you import the TI-RTOS tcpEcho example from the TI Resource Explorer, since that will then contain all the project settings to get the example to build. See also http://processors.wiki.ti.com/index.php/TI-RTOS_TM4C129_Emac_Issues for some changes you need to make to TI-TROS source file to make Ethernet reliable on a TM4C129 device.

  • Hello Chester,

    Your recommendations worked!  I originally commented out the #error statement in the ENV file but got a boatload of linker errors.  I also seperatly tried TIVAWARE in the properties predefined symbols with no luck as well.  Implementing both at the same time fixed the issue.  Thanks a bunch.

    Best Regards,

    Steve Mansfield