When attempted to compile the FFT_Example_674_LE_COFF from dsplib_c674x_3_2_0_1, the compilation failed with the error:
[quote]**** 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 ****[/quote]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?