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.

  • Resolved

CCS/AM5728: Import failed for project 'FFT_Example_66_LE_ELF' because its compiler definition is not available...

Part Number: AM5728

Tool/software: Code Composer Studio

Hi - I'm trying to import dsplib examples (from dsplib_c66x_3_4_0_0) into CCS V7.

However, if I go to import as a CCS project it fails becuase the compiler definition is not available.

Error: Import failed for project 'FFT_Example_66_LE_ELF' because its compiler definition is not available. The project does not appear to be a CCS Project. Please try importing it using the 'General > Existing Projects into Workspace' wizard.

Then if I try to import it using the 'General > Existing Projects into Workspace' wizard, it also fails telling me to use the CCS project wizard.

According to the dsplib_c66x_3_4_0_0 documentation, "the examples folder contains an FFT CCS V5 project and a ReadMe.txt" so I'm not sure how I can successfully import this example project into CCS V7.

Any assistance would be greatly appreciated.

Thanks,

Dermot

  • Guru 149425 points

    Dermot Murphy
    However, if I go to import as a CCS project it fails becuase the compiler definition is not available.

    Could you check if the C6000 compiler tools are available in your CCS installation? Go to menu Window->Preferences->Code Composer Studio->Build->Compilers and check if the C6000 compiler is listed under "Discovered Tools". If it is not listed, then it is possible that you did not install support for C66x devices when you installed CCS. Could that be possible?

    If that is the case, you can add support for C66x processors by re-running the CCS installer, choosing your existing CCS installation path and selecting the C66 multi-core product families. This will simply add support for C66 devices into your existing CCS and will allow you to then import the dsplib examples.

    Btw, I just verified that the FFT_Example_66_LE_ELF example imports fine into CCS 7.4.

    ____________________________________________________________________________

    Please click This Resolved My Issue if the reply answers your question.

    Search the wikis for common questions: Compiler, CCSv6, CCSv7
    Track a known bug with SDOWP. Enter the bug id in the "Find Record ID" box

  • In reply to AartiG:

    Thanks AartiG,

    I was very suspicious that it may be something like that but I was also thinking that since I selected "Sitara Processors" that CCS might have included compilers for all cores including the DSPs. I even took a look at the Code Composer Studio Add-ons in the App Center but I wasn't sure about selecting "C6000 Compiler (v7)" or "C6000 Compiler (v8)"

    Anyway, I'll try installing the "66AK2x multicore DSP" product family now and I'll let you know how I get on.

    Regards,
    Dermot
  • In reply to Dermot Murphy:

    Hey AartiG,

    The  FFT_Example_66_LE_ELF example imports fine now. The only warnings that I get are shown below - hopefully you can see the embedded image:

    Presumably I need to set these build variables to my DSPLIB and MATHLIB folders.

    I'm not sure where the /packages reference has come from and if I need to correct that?

    I'm also assuming that the version difference in C6000 compilers won't be an issue for me.

    If you can clarify whether or not you saw the /packages reference when you imported the project and if it's something important that I need to address, that would be a great help!

    Thanks again,

    Dermot

  • In reply to Dermot Murphy:

    Adding these two variables got rid of that spurious "/package" warning but hasn't removed the DSPLIB and MATHLIB path warnings for some reason:

    I added them in under the "Variables" tab too but the warnings are still there, even after a CCSv7 restart.

    Am I doing something stupid again?

  • In reply to Dermot Murphy:

    I decided to go ahead and try to build out the project anwyay but got this error that CCS cannot open source file "ti/dsplib/src/DSPF_dp_lud/c66/DSPF_dp_lud.h" even though I can see it under the "Includes" in Project Explorer.  I've verified that it exists with normal permissions using bash also.  It's as though CCS build is just ignoring the includes listed in Project Explorer:

    dmurphy@tibuilder:~/ti$ ll ./dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h
    -rw-r--r-- 1 dmurphy dmurphy 3604 Aug 27 2014 ./dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h

    Does "cannot open source file" in CCS indicate that it's unable to find it or is there another way to interpret this message?

    Any suggestions welcome - thanks,

    Dermot

  • Guru 149425 points

    In reply to Dermot Murphy:

    Dermot Murphy
    Presumably I need to set these build variables to my DSPLIB and MATHLIB folders.

    Yes, doing that would get rid of the warnings. I think you should still be able to build successfully even with those warnings, but would certainly be good to address them by changing the build variables. You can do this from Project Properties->Build->Variables tab, click on "Show system variables", then edit the DSPLIB_INSTALL_DIR and MATHLIB_INSTALL_DIR variables to the directories on your system.

    Dermot Murphy
    I'm also assuming that the version difference in C6000 compilers won't be an issue for me.

    Usually it is not an issue, unless there is a huge variance and/or major changes between the compiler versions. And in general we do advise to use the latest compiler tools as long as the project will build and work well with it. Having said that, if you still wish to get rid of that warning, you can install and use the exact same compiler that the original project was created for (v7.4.2). To install and use a specific compiler version, follow the steps described in this page

    ____________________________________________________________________________

    Please click This Resolved My Issue if the reply answers your question.

    Search the wikis for common questions: Compiler, CCSv6, CCSv7
    Track a known bug with SDOWP. Enter the bug id in the "Find Record ID" box

  • In reply to AartiG:

    Thanks Aarti,

    Did you see my last post about CCS being unable to open the include source file?

    My project include options are shown below - MATHLIB_INSTALL_DIR and DSPLIB_INSTALL_DIR seem to be getting resolved OK:

    The error in full is:

    >> Compilation failure
    subdir_rules.mk:7: recipe for target 'fft_example.obj' failed
    "../../../../packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h", line 43: fatal error #1965: cannot open source file "ti/dsplib/src/DSPF_dp_lud/c66/DSPF_dp_lud.h"
    1 catastrophic error detected in the compilation of "/home/dmurphy/ti/dsplib_c66x_3_4_0_0/examples/fft_ex/fft_example.c".
    Compilation terminated.

     

    The subdir_rules.mk file would also suggest that the DSPLIB and MATHLIB paths are being evaluated OK:

     

    # Each subdirectory must supply rules for building sources it contributes
    fft_example.obj: /home/dmurphy/ti/dsplib_c66x_3_4_0_0/examples/fft_ex/fft_example.c $(GEN_OPTS) | $(GEN_HDRS)
    @echo 'Building file: "$<"'
    @echo 'Invoking: C6000 Compiler'
    "/home/dmurphy/ti/ti-cgt-c6000_8.2.2/bin/cl6x" -mv6600 --abi=eabi -g --include_path="/home/dmurphy/ti/ti-cgt-c6000_8.2.2/include" --include_path="../../../../packages" --include_path="../../../../" --include_path="/home/dmurphy/ti/mathlib_c66x_3_1_1_0/packages" --include_path="/home/dmurphy/ti/dsplib_c66x_3_4_0_0/" --include_path="../../" --define=ti_targets_elf_C66 --diag_wrap=off --display_error_number --diag_warning=225 --mem_model:data=far --debug_software_pipeline -k --strip_coff_underscore --preproc_with_compile --preproc_dependency="fft_example.d_raw" $(GEN_OPTS__FLAG) "$(shell echo $<)"
    @echo 'Finished building: "$<"'
    @echo ' '

     

     

     

  • In reply to Dermot Murphy:

    I tried adding absolute paths to the /home/dmurphy/ti/dsplib_c66x_3_4_0_0/packages directory but still getting the same error - CCSv7 summary of flags shown below:  

    -mv6600 --abi=eabi -g --include_path="/home/dmurphy/ti/ti-cgt-c6000_8.2.2/include" --include_path="/home/dmurphy/ti/dsplib_c66x_3_4_0_0/packages" --include_path="/home/dmurphy/ti/dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud/C66" --include_path="../../../../packages" --include_path="../../../../" --include_path="/home/dmurphy/ti/mathlib_c66x_3_1_1_0/packages" --include_path="/home/dmurphy/ti/dsplib_c66x_3_4_0_0/" --include_path="../../" --define=ti_targets_elf_C66 --diag_wrap=off --display_error_number --diag_warning=225 --mem_model:data=far --debug_software_pipeline -k --strip_coff_underscore

    Not sure if it's related to this old issue?

    https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/601124?CCS-F28M36P63C2-Error-1965-Cannot-open-source-file-ti-drivers-UART-h-

    I was a bit worried about the CCS error referencing the problematic include file in quotes but I can confirm the actual reference uses angle brackets:

    "/home/dmurphy/ti/dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h", line 43: fatal error #1965: cannot open source file "ti/dsplib/src/DSPF_dp_lud/c66/DSPF_dp_lud.h"

    Actual reference at line 43 of /home/dmurphy/ti/dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h:

    #include <ti/dsplib/src/DSPF_dp_lud/c66/DSPF_dp_lud.h>

     

  • In reply to Dermot Murphy:

    Update - If I right-click the project and select Index -> Search for Unresolved Includes, I can see 9 matches, all from within the /home/dmurphy/ti/dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud directory even though  /home/dmurphy/ti/dsplib_c66x_3_4_0_0/packages/ is definitely set up as an Include search path.  It seems as though the direct include references can use the Include search path but the indirect ones (include statement inside an include file) can't or don't?

  • In reply to Dermot Murphy:

    OK - I think I discovered the root cause:

    The include files in the DSP examples are referencing as "ti/dsplib/src/DSPF_dp_lud_inv/c66/DSPF_dp_lud_inv.h" while the path in the dsplib folder is actually "ti/dsplib/src/DSPF_dp_lud_inv/C66/DSPF_dp_lud_inv.h" (note the upper case C).

    So as a workaround I'm setting up symlinks in the affected directories!  I guess this is an actual bug in the DSPLIB release, however?

    Regards,

    Dermot

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.