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/ARM-CGT: New llvm based compiler and tools support

Part Number: ARM-CGT
Other Parts Discussed in Thread: HALCOGEN, Z-STACK

Tool/software: TI C/C++ Compiler

I saw today that the TI ARM CGT tools are now legacy, and a LLVM based compiler is the new thing (which I think is a good choice).

However I have a few questions regarding the tooling:

  • When will CCS include the new LLVM-based compiler?
  • When will HALCoGen generate sources for the new LLVM-based compiler?

Thanks and best regards.

  • Available Migration Aids contains:

    There are a variety of migration aids available in the tiarmclang compiler tools and in Code Composer Studio (CCS) version 10.1 or later to help you address these issue when converting an existing armcl project to use the tiarmclang compiler

    With CCS 10.1.1.00004 the CCS update sites weren't showing ARM-CGT-CLANG, but after manually downloading and installing the compiler CCS was able to discover it.

    The first example I tried was for a Cortex-M4 rather than a Hercules Cortex-R device, but got an error from one of the CMSIS include files supplied with CCS. For my example looks to be a difference in how GCC .vs. LLVM handle modifying the Floating Point Status/Control register. Not sure if any other issues (since the compilation stopped on that error).

    Raised CCS/MSP432E401Y: Support for ARM-CGT-CLANG? to query if ARM-CGT-CLANG is officially supported by CCS yet.

  • Chester Gillon said:

    With CCS 10.1.1.00004 the CCS update sites weren't showing ARM-CGT-CLANG, but after manually downloading and installing the compiler CCS was able to discover it.

    Yes, for CCS I also got this behavior. But I think HALCoGen is much more of a blocker. FreeRTOS generated by HALCoGen does not compile, HAL generated by HALCoGen does not compile.

    So the tool support for ARM-CGT-CLANG is super important.

    Chester Gillon said:
    The first example I tried was for a Cortex-M4 rather than a Hercules Cortex-R device, but got an error from one of the CMSIS include files supplied with CCS.

    Yeah I also got some files compile, even for R, but as I said, a lot of them not. And there were many many errors, e.g., because of SWI aliases.

  • HALCoGen does not generate code that can be compiled with the ticlang compiler. Please continue to use the TI armcl for now.

  • Sunil Oak said:

    HALCoGen does not generate code that can be compiled with the ticlang compiler. Please continue to use the TI armcl for now.

    Thanks for the clear answer.

    Is there a public available timelime for the tool support of  ARM-CGT-CLANG?

  • As far as when CCS will bundle TI Arm Clang that will happen mid next year.  Currently TI Arm Clang is an STS (Short Term Support) release.  It will become LTS (Long Term Support) in 2Q and then the next CCS release after that will bundle it.

    Whether or not to use TI Arm Clang will primarily be dictated by the software package for the device you are using.  The SimpleLink SDK for CC32xx fully supports it today.  The SimpleLink SDK for CC13x2/CC26x2 has examples for drivers, 15.4 and Z-Stack.  As new SDKs are released more and more will add support for TI Arm Clang.  Other devices that are more mature may continue to use armcl long term.

    Regards,

    John 

  • Thanks for these details.

    JohnS said:

    Other devices that are more mature may continue to use armcl long term.

    I guess this means, there will be no TI Arm Clang for TMS570LC43xx?

  • Yes, that is the case for now. We do not plan any significant update to HALCoGen.

    We are currently looking into the number of changes required to code generated by HALCoGen to be able to use the TI ARM Clang compiler.