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.

dsplib_c674x_3_2_0_1 FFT_Example_674_LE_COFF fails to compile

Other Parts Discussed in Thread: OMAPL138

When attempted to compile the FFT_Example_674_LE_COFF from dsplib_c674x_3_2_0_1, the compilation failed with the error:

**** Clean-only build of configuration Debug for project FFT_Example_674_LE_COFF ****

/opt/ti/ti_ccs6_0/ccsv6/utils/bin/gmake -k clean
gmake: *** No rule to make target `clean'.

**** Build Finished ****

**** Build of configuration Debug for project FFT_Example_674_LE_COFF ****

/opt/ti/ti_ccs6_0/ccsv6/utils/bin/gmake -k all
Building file: /opt/ti/ti_ccs6_0/dsplib_c674x_3_2_0_1/examples/fft_example_sp.c
Invoking: C6000 Compiler
"/opt/ti/ti_ccs6_0/ccsv6/tools/compiler/c6000_7.4.8/bin/cl6x" -mv6740 --abi=coffabi -g --include_path="/opt/ti/ti_ccs6_0/ccsv6/tools/compiler/c6000_7.4.8/include" --include_path="../../../packages" --include_path="../../../" --include_path="../../" --define=ti_targets_C674 --display_error_number --diag_warning=225 --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k --preproc_with_compile --preproc_dependency="fft_example_sp.pp"  "/opt/ti/ti_ccs6_0/dsplib_c674x_3_2_0_1/examples/fft_example_sp.c"
"../../../packages/ti/dsplib/src/DSPF_sp_mat_mul_gemm/DSPF_sp_mat_mul_gemm.h", line 45: fatal error #35: #error invalid target

>> Compilation failure
1 fatal error detected in the compilation of "/opt/ti/ti_ccs6_0/dsplib_c674x_3_2_0_1/examples/fft_example_sp.c".
Compilation terminated.
gmake: *** [fft_example_sp.obj] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

The #error is being generated in the dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSPF_sp_mat_mul_gemm/DSPF_sp_mat_mul_gemm.h header, which is been written such DSPF_sp_mat_mul_gemm isn't support for a TMS320C6740 target:

#if defined(_TMS320C6600)
#include <ti/dsplib/src/DSPF_sp_mat_mul_gemm/c66/DSPF_sp_mat_mul_gemm.h>
#else
#error invalid target
#endif


Looking at the dsplib_c674x_3_2_0_1 installation, there a DSPF_sp_mat_mul_gemm.h does appear in a c674 directory. Therefore, changed the dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSPF_sp_mat_mul_gemm/DSPF_sp_mat_mul_gemm.h to:

#if defined(_TMS320C6600)
#include <ti/dsplib/src/DSPF_sp_mat_mul_gemm/c66/DSPF_sp_mat_mul_gemm.h>
#elif defined(_TMS320C6740)
#include <ti/dsplib/src/DSPF_sp_mat_mul_gemm/c674/DSPF_sp_mat_mul_gemm.h>
#else
#error invalid target
#endif

The same issue exists in:

- dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSPF_sp_mat_mul_gemm_cplx/DSPF_sp_mat_mul_gemm_cplx.h

- dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSP_fir_r8_h16/DSP_fir_r8_h16.h

- dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSP_fir_r8_h24/DSP_fir_r8_h24.h

- dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSP_fir_r8_h8/DSP_fir_r8_h8.h

Are the DSPF_sp_mat_mul_gemm, DSPF_sp_mat_mul_gemm_cplx, DSP_fir_r8_h16, DSP_fir_r8_h24 and DSP_fir_r8_h8 functions supported on a c674x device?

  • Hi,

    Are the DSPF_sp_mat_mul_gemm, DSPF_sp_mat_mul_gemm_cplx, DSP_fir_r8_h16, DSP_fir_r8_h24 and DSP_fir_r8_h8 functions supported on a c674x device?

    In my understanding, Of course  It won't give any problem.

    Please refer the following ti e2e which is related to your problem.

    http://e2e.ti.com/support/development_tools/compiler/f/343/p/234203/821814.aspx
    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/308409.aspx

  • Titusrathinaraj Stalin said:
    In my understanding, Of course  It won't give any problem.

    Thanks for the confirmation.

    Should the include files in dsplib_c674x_3_2_0_1 be "fixed" so that the FFT_Example_674_LE_COFF example compiles without error?

  • Hi Chester,

    Thanks for your post.

    Actually, the specified functions posted by you, DSPF_sp_mat_mul_gemm, DSPF_sp_mat_mul_gemm_cplx, DSP_fir_r8_h16, DSP_fir_r8_h24 and DSP_fir_r8_h8 are supported in C674xCPUCycleAccurateSimulator which are tested and benchmarked. Kindly check the below link for the test results:

    http://software-dl.ti.com/sdoemb/sdoemb_public_sw/dsplib/latest//exports/DSPLib_c674xTest_Report.html

    For C674x device, please check the supported kernel functions for C674x DSP_LIB from the below wiki:

    http://processors.wiki.ti.com/index.php/C674x_DSPLIB#DSPF_sp_mat_mul_.28Matrix_Multiply.29

    For fixed point computation, the C674x core is fully compatible with the C64x+ DSPLIB, kindly check the c64x+ DSP library programmer's reference as below:

    http://www.ti.com/lit/ug/sprueb8b/sprueb8b.pdf (please check Table 3 -4 & Table 3 -5)

    For downloads of c66x, c67x, c64x, c64x+ & c674x DSP LIB, kindly refer the below link:

    http://www.ti.com/tool/sprc265

    Thanks & regards,

    Sivaraj K

    -------------------------------------------------------------------------------------------------------
    Please click the Verify Answer button on this post if it answers your question.
    -------------------------------------------------------------------------------------------------------

     

  • Hi,

    I am able to build "FFT_Example_674_LE_COFF" DSP lib project from "dsplib_c674x_3_1_1_1"

    Did you change anything in CCS project?

    Logs:


    **** Build of configuration Debug for project FFT_Example_674_LE_COFF ****

    /opt/ti/ccsv5/utils/bin/gmake -k all
    Building file: /opt/ti/dsplib_c674x_3_1_1_1/examples/fft_example_sp.c
    Invoking: C6000 Compiler
    "/opt/ti/C6000CGT7.4.6/bin/cl6x" -mv6740 -g --include_path="/opt/ti/C6000CGT7.4.6/include" --include_path="../../../packages" --include_path="../../../" --diag_warning=225 --mem_model:data=far --abi=coffabi --debug_software_pipeline -k --preproc_with_compile --preproc_dependency="fft_example_sp.pp"  "/opt/ti/dsplib_c674x_3_1_1_1/examples/fft_example_sp.c"
    Finished building: /opt/ti/dsplib_c674x_3_1_1_1/examples/fft_example_sp.c
     
    Building target: FFT_Example_674_LE_COFF.out
    Invoking: C6000 Linker
    "/opt/ti/C6000CGT7.4.6/bin/cl6x" -mv6740 -g --diag_warning=225 --mem_model:data=far --abi=coffabi --debug_software_pipeline -k -z -m"FFT_Example_674_LE_COFF.map" --warn_sections -i"/opt/ti/C6000CGT7.4.6/lib" -i"/opt/ti/C6000CGT7.4.6/include" --reread_libs --xml_link_info="FFT_Example_674_LE_COFF_linkInfo.xml" --rom_model -o "FFT_Example_674_LE_COFF.out"  "./fft_example_sp.obj" "/opt/ti/dsplib_c674x_3_1_1_1/examples/lnk.cmd" -l"libc.a"
    <Linking>
    Finished building target: FFT_Example_674_LE_COFF.out
     

    **** Build Finished ****

  • Titusrathinaraj Stalin said:
    I am able to build "FFT_Example_674_LE_COFF" DSP lib project from "dsplib_c674x_3_1_1_1"

    I am also able to build FFT_Example_674_LE_COFF from dsplib_c674x_3_1_1_1.

    However, it is the FFT_Example_674_LE_COFF from the later dsplib_c674x_3_2_0_1 that I was unable to build.

    Titusrathinaraj Stalin said:
    Did you change anything in CCS project?
    No, I imported the unmodified FFT_Example_674_LE_COFF from the later dsplib_c674x_3_2_0_1 into CCSv6 and got the compile errors in my initial post.

  • Hi Chester,

    Now, I'm able to build "FFT_Example_674_LE_COFF" DSP lib project from "dsplib_c674x_3_2_0_1"


    Chester :

    Are the DSPF_sp_mat_mul_gemm, DSPF_sp_mat_mul_gemm_cplx, DSP_fir_r8_h16, DSP_fir_r8_h24 and DSP_fir_r8_h8 functions supported on a c674x device?

    Titus :

    In my understanding, Of course  It won't give any problem.

    Sorry for the wrong information,

    Actually, Yes, It could be the "*.h" files supported to other target (may be c66x) and not for c674x.

    I have done workaround to build in which i have changed the following "*.h" files from "c674" folder.

    DSPF_sp_mat_mul_gemm.h
    DSPF_sp_mat_mul_gemm_cplx.h
    DSP_fir_r8_h16.h
    DSP_fir_r8_h24.h
    DSP_fir_r8_h8.h


    Ex:

    Backup the "DSP_fir_r8_h8.h" file from the below directory and copy the "DSP_fir_r8_h8.h" file from "c674" folder to the below directory again.

    ti/dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSPF_sp_mat_mul_gemm

    Workaround

    Copy the "ti/dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSPF_sp_mat_mul_gemm/c674/DSPF_sp_mat_mul_gemm.h" to  "ti/dsplib_c674x_3_2_0_1/packages/ti/dsplib/src/DSPF_sp_mat_mul_gemm/DSPF_sp_mat_mul_gemm.h"

    Output build logs:


    **** Clean-only build of configuration Debug for project FFT_Example_674_LE_COFF ****

    /opt/ti/ccsv5/utils/bin/gmake -k clean
    rm -rf  "FFT_Example_674_LE_COFF.out"
    rm -rf "fft_example_sp.pp"
    rm -rf "fft_example_sp.obj"
    Finished clean
     

    **** Build Finished ****

    **** Build of configuration Debug for project FFT_Example_674_LE_COFF ****

    /opt/ti/ccsv5/utils/bin/gmake -k all
    Building file: /opt/ti/dsplib_c674x_3_2_0_1/examples/fft_example_sp.c
    Invoking: C6000 Compiler
    "/opt/ti/C6000CGT7.4.6/bin/cl6x" -mv6740 --abi=coffabi -g --include_path="/opt/ti/C6000CGT7.4.6/include" --include_path="../../../packages" --include_path="../../../" --include_path="../../" --define=ti_targets_C674 --define=omapl138 --display_error_number --diag_warning=225 --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k --preproc_with_compile --preproc_dependency="fft_example_sp.pp"  "/opt/ti/dsplib_c674x_3_2_0_1/examples/fft_example_sp.c"
    Finished building: /opt/ti/dsplib_c674x_3_2_0_1/examples/fft_example_sp.c
     
    Building target: FFT_Example_674_LE_COFF.out
    Invoking: C6000 Linker
    "/opt/ti/C6000CGT7.4.6/bin/cl6x" -mv6740 --abi=coffabi -g --define=ti_targets_C674 --define=omapl138 --display_error_number --diag_warning=225 --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k -z --stack_size=0x800 -m"FFT_Example_674_LE_COFF.map" --heap_size=0x800 -i"/opt/ti/C6000CGT7.4.6/lib" -i"/opt/ti/C6000CGT7.4.6/include" --reread_libs --define=DSP_CORE=1 --warn_sections --display_error_number --diag_wrap=off --xml_link_info="FFT_Example_674_LE_COFF_linkInfo.xml" --rom_model -o "FFT_Example_674_LE_COFF.out"  "./fft_example_sp.obj" "/opt/ti/dsplib_c674x_3_2_0_1/examples/lnk.cmd" -l"libc.a"
    <Linking>
    Finished building target: FFT_Example_674_LE_COFF.out
     

    **** Build Finished ****