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.

Embedded Coder C2000 F28069 example doesnt work

Other Parts Discussed in Thread: CONTROLSUITE

I tried to build the Using the Control Law Accelerator (CLA) example based on ert.tlc. The diagnostic viewer ends with the following error message:

"cla_task.cla", line 2: fatal error: cannot open source file "F2806x_Cla_typedefs.h" 1 catastrophic error detected in the compilation of "cla_task.cla". Compilation terminated.

Im using MATLAB 2014a, checkEnvSetup results in:

1. CCSv5 (Code Composer Studio) Your version : 5.5.0 Required version: 5.0 or later Required for : Code Generation TI_DIR="C:\ti\ccsv5"

2. CGT (Texas Instruments C2000 Code Generation Tools) Your version : 6.0.2 Required version: 5.2.1 to 6.0.2 Required for : Code generation C2000_CGT_INSTALLDIR="C:\ti\ccsv5\tools\compiler\c2000_6.0.2"

3. DSP/BIOS (Real Time Operating System) Your version : 5.41.11.38 Required version: 5.33.05 to 5.41.11.38 Required for : Code generation CCSV5_DSPBIOS_INSTALLDIR="C:\ti\bios_5_41_11_38"

4. XDC Tools (eXpress DSP Components) Your version : 3.25.04.88 Required version: 3.16.02.32 or later Required for : Code generation

5. 2806x C/C++ Header Files Your version : 1.20 Required version: 1.20 Required for : Code generation DSP2806x_INSTALLDIR="C:\ti\controlSUITE\device_support\f2806x\v120"

6. Flash Tools (TMS320F2806x Piccolo™ Flash API) Your version : 1.00 Required version: 1.00 Required for : Flash Programming FLASH_2806X_API_INSTALLDIR="C:\ti\controlSUITE\libs\utilities\flash_api\2806x\v100"

The installed version of controlSUITE is v3.2.7.

I inspected the folder C:\ti\controlSUITE\device_support\f2806x\v120\F2806x_common\include and discovered, that there is no file named F2806x_Cla_typedefs.h. Can i copy one of the newer versions to this folder or is there another solution?

Thanks and best regards

Daniel Probst

  • Hi Daniel,

    It looks like F2806x_Cla_typedefs.h is only in v13x and higher. Is there any reason why you are using v120? Is this because of the specific example you are using has these dependencies? Or is it because of MATLAB's dependencies (as reported by checkEnvSetup)?

    Thanks

    ki

  • Hi Ki,

    thanks for the answer. I tried to set up the environment vor v136, but I still get the same error. I'm not quite sure how I can see if the example has these dependencies because I'm quite new to Embedded Coder. How can I change these settings?

    Perhaps you can answer me another question, too: Why is the required version v120 but the examples provided need newer versions? This seems wrong to me.

    Thanks

    Daniel

  • Daniel

    Unfortunately I can't answer your questions as I am not familiar with Embedded Coder or the examples you are using. I'm going to move your thread to the C2000 forums where there are experts on your device and ControlSUITE. They should be able to better answer these questions.

    Thanks

    ki

  • Sorry it took me so long, but i finally managed to get one step further.


    In the settings for the toolchain, I set the path of the header files to v136, but now i get another error that says there are unreferenced symbols.

    __cla_scratchpad_end

    __cla_scratchpad_start

    As far as i understand it is some linker problem due to a missing header file or library. The symbols should be referenced by CLAmath.h in the v400 CLAMath folder. How do I get the linker to include this header file and recognize the reference?

  • Ok, i think I figured it out myself. Here's my solution for others, that face the same problem:

    On the site

    http://processors.wiki.ti.com/index.php/C28x_Code_Generation_Tips_and_Tricks#Q:_What_are_recommended_compiler_options_for_the_CLA_CPU.3F

    it says, that Codegen 6.1.0 or later is required for cla0 and C. For me this is quite confusing, because running checkEnvSetup in MATLAB says, that 5.2.1 to 6.0.2 is required. However, I configured the C2000 support package to 6.2.7. For this, two steps are necessary:

    1. Run targetupdater in MATLAB and follow the instructions. When coming to the dialogue where the ccsv5 directory has to be chosen, choose the directory of your 6.2.7 compiler.

    2. Run checkEnvSetup with -setup option in MATLAB and set the paths according to your system. That includes 6.2.7 compiler and v126 headers although it is newer than the required versions.

    Now the CLA examples work for me. Perhaps it is possible to change the checkEnvSetup requirements, so that all examples work.