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/TMS320F28066: Halted while executing prototype Memcpy() with CCS8.1@LTS 18.1.2

Part Number: TMS320F28066
Other Parts Discussed in Thread: CONTROLSUITE

Tool/software: TI C/C++ Compiler

Hi Team,

  My customer reported an critical issue the code halted while calling the Memcpy() prototype provided by library(Controlsuite V3.4.9) while using CCSV8.1@LTS V18.1.2 to generate the executable code,  but executed correctly while using compiler CGT V5.2.1.   the similar issues existed reported at F28032/F28066.

  And while this abnormal happened,  the mempcy() only seized 3 bytes in memory;

Could you kindly give comments on the reasons why LTS V18.1.2 couldn’t support the memcpy() which defined in ControlSUITE 3.4.9 library file?

 More details could be found from attached file.memcpy() incorrectly using LTS V18.1.2 in CCS8.1.docx

  • Hi Team,
    Another update:
    1. with CGT V6.0.2 @CCS V8.1, the code run as expected.
    2. As this situation happened for F28022/F28032/F28066, analyzed the common things and found that: The memcpy() only seized 3bytes memory while the code run abnormal.

    Expect for your reply,

    Best Regards
    Benjamin
  • When using a TI compiler (and probably any C/C++ compiler), these two version requirements must be met:

    1. The version of the linker must match or exceed the version used to build any input to the linker
    2. The version of the RTS library must match the linker

    I don't know the details, but you have violated the second requirement.  That is the only way I can reproduce your problem.  

    When you invoke the linker, you probably provide a full path to the RTS library.  Change that full path RTS specification to -l libc.a.  The linker replaces libc.a with the best RTS library for your build.  The -l option tells the linker to look for the RTS library in the system directories, which are specified with --include_path options, or the environment variable C2000_C_DIR.

    Thanks and regards,

    -George