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/CC2640: Compiler version questions BLE-Stack 2.2.1

Part Number: CC2640
Other Parts Discussed in Thread: CC2650STK, BLE-STACK, , CC2642R

Tool/software: TI-RTOS

Can somebody clear up the compatibility matrix for the BLE stack 2_2_01_18 and RTOS 2_20_01_08?

The notes for the BLE stack state to use the TI compiler version 5.2.6 but the RTOS compiler is stated as 15.12.1.LTS.

When you actually use this combination, you get a warning (not unexpected).  Can the warning be safely ignored?

Resource Description Path Location Type
.xdchelp the compiler version [5.2.6] used by the current target 'ti.targets.arm.elf.M3' is not compatible with compiler version of targets used to build the following packages; package ti.targets.arm.rtsarm [in C:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/products/bios_6_46_01_38/packages/ti/targets/arm/rtsarm/] was built using the target 'ti.targets.arm.elf.M3' with compiler version [15.12.5]. /smart_shepherd_observer_cc2650stk_app C/C++ Problem

In the release notes for Simplelink BLE-Stack 2.2.1 (ble_sdk_2_2_01_18) it states under "Dependencies" that it depends on TI-RTOS 2.20.01.08.  using the following IDE

6.2.0 (Build 50 or later)

TI ARM Compiler v5.2.6

A free CCS v6 license is provided when used with a TI CC26xx or CC13xx development kit that includes an XDS100v3 or XDS110 debugger. Other compiler versions may not compatible with this SDK. Refer to Section 2.6.3 Code Composer Studio in the SWRU393_CC2640_BLE_Software_Developer’s_Guide for the procedure to install TI ARM Compiler version 5.2.6.

However for TI-RTOS 2.20.01.08 it says:

  • CCS 6.1.3 or higher
  • XDCTools 3.32.00.06 or higher
  • TI Code Generation Tools
    • C28X version 15.12.1.LTS or later
    • ARM version 15.12.1.LTS or later
    • MSP430 version 15.12.1.LTS or later

  • To build examples of BLE Stack 2.2.1, you should use TI Compiler v5.2.6.
  • May have answered my own question ( the directory I was linking to had been recompiled with 15.12.5 at some stage). I would still like to know whether that combination is OK or should we be using 15.12.1.LTS for our app/stack projects instead of 5.2.6?
  • There are lots of discussions about incompatibility when they don’t use TI Compiler 5.2.6 so I strongly suggest you to use 5.2.6 to build your project.
  • I have seen that suggestion a lot over the last 18 months Yikai but my experience has been very different. For our system 5.2.6 is quite unstable on boards that aren't the Launchpad or the SensorTag. 15.12.1.LTS and 15.12.5.LTS seem more forgiving (or at least allow you to get further with debugging). I have had a few situations where 5.2.6 would produce something unstable where the 15.x compilers allow you at least to get some idea of what is wrong. I would be interested to know why the recommendation for the compiler for RTOS and the compiler for the BLE stack are so different when combined into the same system.
  • Hope someone from TI would clarify this.
  • Hi David and Yikai,

    I'm going to have some conversations with both the teams for TI-RTOS and the SDK and get back to you to clear this up. Sorry for the confusion.

    As a note, the BLE-STACK 2.2.2 just released and its release notes list CCSv7.4 and Compiler version 16.9.4.LTS. Would this be a good option for you?

    Regards,
    Katie
  • Thanks Katie it would be great to get a definitive answer.  I will look at upgrading to the new BLE stack although if it takes up more memory we may not be able to use it.

  • Hi David,

    I am sorry for the delay I just wanted to check in and let you know I'm still working on getting you an answer here.

    Regards,
    Katie
  • Hi David,

    Our first recommendation (if it will work for you) is to use BLE-STACK 2.2.2. For BLE-STACK 2.2.1 the BLE application, including TI-RTOS was tested with v5.2.6 and that is our recommendation - the BLE release notes not the TI-RTOS release notes are what you should follow in this case. Looking longer term towards the future, if you move to the newer CC2640R2 or CC2642R these are part of the SimpleLink SDK platform, which has the benefit of being released with a common toolchain for all components - that is the way our future devices are released moving forward.

    Regards,
    Katie
  • OK Thanks Katie - we are being forced by circumstances to shift to the new chip so the question is now somewhat moot but your follow up is great.
  • Thanks for asking - it's something I'm sure others have wondered as well so it's good to have it out here.

    Switching to one of our newer chips should mean you get into the SimpleLink SDK platform which as mentioned is released together with a common toolchain for all components, so hopefully that will also help avoid these confusions and concerns.

    Best of luck with your project!
    -Katie