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.

CCS/LAUNCHXL-CC1352R1: Std C++ vectors doesn't works on SDK 3.30.00.03

Part Number: LAUNCHXL-CC1352R1

Tool/software: Code Composer Studio

Hi!

I updated my sdk from version 3.20.00.68 to 3.30.00.03 and c++ vectors have stopped working (on previous sdk everything works like a charm). Now when I'm trying to do any operation on them (like push_back, resize etc.) my code goes to error loop. Every file I use has .cpp/.h extension, and also project has rdimon_nano and stdc++_nano in linker libraries. 

I'm using:

  • CCS 9.2.0.00013
  • GNU v7.2.1 (Linaro) compiler
  • SDK 3.30.00.03
  • Launchpad CC1352R1 rev. E

I'm just trying to figure out what is going on and what new sdk has to do with c++ vectors? Is any way to make it works again? I can give more info, but need to know what exactly.

Robert Galon.

  • Robert,

    Which compiler and CCS versions are you using in the 3.20 SDK? Are there any compiler warnings when you build with either?

    Todd

  • I'm using the same compiler with both SDKs (which is GNU 7.2.1, installed together with CCS 9.0 and 9.2 I think). I don't have any errors or warnings.

  • Hi Robert,

    That's strange. I cannot think of anything in the SDK that would change that. Can you attach a simple CCS project that shows the problem?

    Also what exactly is not working with them? What error loop ... an exception? If it is an exception, can you look in Tools->ROV->Hwi->Exception to see if that offers any clues. Also enable BIOS assert in the .cfg. This might show a problem that was there in the 3.20, but surfaced in 3.30.

    Todd

  • Hi Todd!

    Project files are attached in zip, but it basically Bigtime GCC project with vector instance and operation (e.g., resize).

    Recently I found that operator new is problem, when vector calling new or if I'm trying to allocate simple variable (uint etc.) code goes to 0x1002DE10 and 0x1002DE0E infinite loop. So maybe is something wrong with libs that I include (I'm using hard float abi version)?

    ROV doesn't show anything useful (hwi, swi without change).

    0434.bigtime_CC1352R1_LAUNCHXL_tirtos_gcc.zip

  • Robert,
    I was able to replicate your problem and I think it was caused by the rebuilt C runtime that's delivered with TI-RTOS. It doesn't include libstdc++, which is required by your app, so all other libraries are found in the C runtime delivered with TI-RTOS, while libstdc++ is found in the compiler installation. It is a known problem with TI-RTOS, GCC and C++, and I am guessing that the combination of the libraries built with different options is also the cause of the exception in your app.

    However, I am seeing that problem no matter which version of the SDK I use, or the version of XDCtools. When your app is working, are you using the same project that fails with a newer SDK, or you have two different projects? If there are two different projects, can you post them both.

    I'll keep looking into the problem to verify the cause of it.

  • Robert,
    you have an Arm library mixed in with Thumb code. Remove ${CG_TOOL_ROOT}/arm-none-eabi/lib/hard from your list of libraries and let the linker figure out the right library automatically.

    I don't know if that library was added by our tools. I'll check that.

  • Hi Sasha!

    After remove ${CG_TOOL_ROOT}/arm-none-eabi/lib/hard from my list of libraries everything started to work, so thank You (and sorry for late answer).