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.

Differences between TI ARM Compiler versions 5.x and 15.x

Hi all,

I'm a little bit confused, because there are different ARM compiler versions available for TMS570 and Code Composer Studio 6.1.2. When I installed the TI ARM Compiler by the TI App Center, I got the 15.12.1 version. When I have a look at the TI wiki page, the actual versions have 5.2.x numbers:  

When I update manually with "Install New Software" in CCS, I get the following list:

Here my questions:

  1. What is the different between 5.2.x and 15.12.x?
  2. What is the recommended LTS version?
  3. Where can i download the compiler "package" to archive the compiler for future use, without the need of the TI update server?

Thank you. Best regards,

Marcel Menne

  • Marcel Menne said:
    • What is the different between 5.2.x and 15.12.x?
    • What is the recommended LTS version?

    Both questions are answered here.

    Marcel Menne said:
    Where can i download the compiler "package" to archive the compiler for future use, without the need of the TI update server?

    That is not available for the TI ARM compiler or the TI MSP430 compiler.  For other TI compilers, please go here.

    Thanks and regards,

    -George

  • The linked wiki page does not really explain the differences of the two compilers. It seems these are build from completely different code bases. And why are both maintained?
  • It's just a change in the version numbering policy. The code base is the same. We maintain recent releases for users who do not want to take the risk that the newer branch, with its newer features, would perturb the generated code. Even a beneficial perturbation (an optimization, say) could change the timing or make it more difficult to compare the generated code after an upgrade to get a bug fix.
  • But 15.12.x is based on which 5.x.x? Esp. with respect to different behavior. Or bugs like this one: e2e.ti.com/.../1972089
  • The release stream just before 15.12.x.LTS is 5.2.x.

    Thanks and regards,

    -George

  • 5.2.0 (or 5.2.0B1), because all subsequent 5.2.x releases are bug fixes made on that branch, while development continues along the main line that leads to 15.12.0.
    One could think of each x.0 release as a snapshot of the code base at a particular point in its evolution. Evolution continues with y.0, z.0, etc, but x.1, x.2, and so on are only made to fix bugs.
  • Hi Paul,
    this sounds complicated. Maybe you (means TI) should put this kind of information on the compiler wiki page.
    Since 15.12.x is based on 5.2.0. From which version 16.6.0 forked?
  • Yeah, this is a source of endless confusion. I'll try to update the page George refers to, which is intended to explain this.

    There is only one thread of development for the TI compilers, and it is numbered like this for ARM:

    5.2.0 -> 15.9.0.STS -> 15.12.0.LTS -> 16.3.0.STS -> 16.6.0.STS

    Each node on this list is also the head of a release stream (or "fork"), where only bug fixes are applied. Thus, both 5.2.1 and 15.9.0.STS are based on 5.2.0.

  • Could you please clarify the automatic compiler update strategy in CCS with the new versioning scheme:

    (1) If I install a long-term release (e.g., 15.12.0.LTS), CCS should notify me when patch releases are available for the LTS version I have installed (like 15.12.1.LTS, 15.12.2.LTS, etc...)?

    (2) But it will NOT notify me when STS releases are available (e.g., 16.3.0.STS), correct?

    (3) If a newer LTS release is available (e.g., 17.1.0.LTS), will it notify?

    Thank you!
  • PavelM said:
    Could you please clarify the automatic compiler update strategy in CCS with the new versioning scheme:

    I presume you mean the check for updates that occurs when CCS first starts up.  You can also manually check for updates with the menu selection Help | Check for Updates.  

    PavelM said:
    1) If I install a long-term release (e.g., 15.12.0.LTS), CCS should notify me when patch releases are available for the LTS version I have installed (like 15.12.1.LTS, 15.12.2.LTS, etc...)?

    Correct

    PavelM said:
    (2) But it will NOT notify me when STS releases are available (e.g., 16.3.0.STS), correct?

    Correct

    PavelM said:
    (3) If a newer LTS release is available (e.g., 17.1.0.LTS), will it notify?

    No.  Please see this wiki article.

    Thanks and regards,

    -George