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.

Compiler/TM4C1290NCPDT: Where are all the other TI Products?

Part Number: TM4C1290NCPDT
Other Parts Discussed in Thread: UCD3138A

Tool/software: TI C/C++ Compiler

Compiler Team,


Using PC-Lint to enforce MISRA-2012 (in C99 Mode), our customer brought to our attention the lack of TI Products listed under the gimpel compiler option files.  See below graphic:

We all realize that although we aren't 100% C99 compliant (although we DO support many of the C99 extensions), we should have MANY more TI products listed under the gimpel option files.  Only "TI320" is listed, for TMS320...but what about MSP430, MSP432-ARM, Tiva-ARM, all C2000, Sitara AM, etc?

Thanks for your input.  Customer would love to see TI work to include more support in the gimpel files, since this could be perceived as negative (lack of support for many TI microcontrollers and microprocessors!).

TY,
CY

  • The best way forward seems to be to request support for the TI ARM compiler from Gimpel, the company that supplies this PC-Lint tool.  Whoever creates the configuration file for the TI ARM compiler needs to know PC-Lint well.  That is not the case for anyone on the TI compiler team.

    Thanks and regards,

    -George

  • Hi George,
    I agree with your assessment. Would anyone know who to contact to get the ball moving on a request like this? I am more than willing to start the process, but am just not sure who to even reach out to?
    Thanks,
    CY
  • This config needs defined with knowledge of the compiler, you need to know what to include and define, here's what worked for me -- you'll need to update the version and directory at the top and define CCS_DIR. You'll also need to write 'predefined-macros.h' and put it somewhere Lint can find it. 

    -d__TI_COMPILER_VERSION__=16090100

    +libh(predefined-macros.h)
    -header(predefined-macros.h)

    --i"%CCS_DIR%\tools\compiler\ti-cgt-arm_16.9.1.LTS\include"

    -dATTRIBUTE_PACKED
    -d__cregister=

    -d__asm=_to_brackets +rw(_to_brackets)
    -d__attribute__=_to_brackets +rw(_to_brackets)
    -esym(950, _to_brackets)


    +fem
    -elib(46)


    +libh(predefined-macros.h)
    -header(predefined-macros.h)

    --i"%AAS_LINT_CCS_DIR%\tools\compiler\ti-cgt-arm_16.9.1.LTS\include"

    -elib(46)
    -elib(438)
    -elib(9012)
    -esym(950, EALLOW)
    -esym(950, EDIS)
    -emacro(950, EALLOW)
    -emacro(950, EDIS)
    -esym(950, _up_to_brackets)

    My pre-defined macros looks like (for UCD3138A): 

    #define UCD3138A 1
    #define __PTRDIFF_T_TYPE__ int
    #define __SIZE_T_TYPE__ unsigned
    #define __WCHAR_T_TYPE__ unsigned short

    Something similar should work for other devices. The key is to make sure Lint can find all the correct include files and that it's supplied with the 'behind the scenes' preprocessing macros that the compiler defines. Finally you need to tweak the lint settings to disable warnings that are flagging things in the standard libraries. 

  • Hi Colin,

    We appreciate your input on this. I agree with your assessment and believe others may find it useful as well.

    Thank you,
    CY