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.

AM5728: DSPLIB_C66x header paths

Part Number: AM5728

Good morning folks,

With a Linux build host and SYS/BIOS 6.46.5.55 I can use CCS7.2.0 to create a new C66xx SYS/BIOS project ('typical' template) for the IDK_AM572x platform that builds OK with the TI v8.1.3 compiler. When I add a one-line include for dsplib (#include <ti/dsplib/dsplib.h>) to main.c then main.c no longer compiles, complaining about a header not being found:

>> Compilation failure
subdir_rules.mk:21: recipe for target 'main.obj' failed
"/home/keith/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"
1 catastrophic error detected in the compilation of "../main.c".

The compiler is correct that file "ti/dsplib/src/DSPF_dp_lud/c66/DSPF_dp_lud.h" does not exist, but file "ti/dsplib/src/DSPF_dp_lud/C66/DSPF_dp_lud.h" does exist (changed /c66/ to /C66/ ).

I wonder if dsplib_c66x_3_4_0_0 for Linux host has some incorrect internal path names? There are seven internal subdirectories named "C66" (upper case) which possibly should be named "c66" (lower case) similar to the other 111 subdirectories that are named "c66". For example "dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud/C66".  Dsplib also has a couple of .h files containing windows style path separators "\" in include statements instead of unix style "/". They prevent compilation even after the directory paths are changed. With all these changes, the program compiles OK.

If I  use the previous version of dsplib_c66x (dsplib_c66x_3_2_0_1) there are no c66 vs C66 path name problems, but there are some windows path separators that stop compilation eg dsplib_c66x_3_2_0_1/packages/ti/dsplib/src/DSPF_sp_erand/c66/DSPF_sp_erand.h says:  #include "..\..\DSP_urand32\c66\DSP_urand32.h"

Am I misunderstanding how to use dsplib?

regards

-Keith

  • The RTOS team have been notified. They will respond here.
  • This is a known issue with the library that has been filed in the bug tracking system. Current plan is to get this fixed in the 3Q2018 time frame.

    In the meantime, please refer to the work around that I have provided on the thread here:
    e2e.ti.com/.../2218376

    Regards,
    Rahul
  • Hi Rahul

    Thanks for the reply confirming that there is an issue. The particular link you gave didn't actually solve my problem because the problem header paths are to the ones mentioned in the link.

    I've attach a patch file that can be used to patch dsplib_c66x_3_4_0_0 on a Linux system and make it compile.

    regards

    -Keith

    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h	2014-08-26 22:01:09.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_lud/DSPF_dp_lud.h	2018-01-30 10:49:35.400349372 +1100
    @@ -40,7 +40,8 @@
     #define _DSPF_DP_LUD_H_
     
     #if defined(_TMS320C6600)
    -#include <ti/dsplib/src/DSPF_dp_lud/c66/DSPF_dp_lud.h>
    +/*#include <ti/dsplib/src/DSPF_dp_lud/c66/DSPF_dp_lud.h> */
    +#include <ti/dsplib/src/DSPF_dp_lud/C66/DSPF_dp_lud.h> /* kb */
     #else
     #error invalid target
     #endif
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud_inv/DSPF_dp_lud_inv.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_lud_inv/DSPF_dp_lud_inv.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud_inv/DSPF_dp_lud_inv.h	2014-08-26 22:01:09.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_lud_inv/DSPF_dp_lud_inv.h	2018-01-30 10:51:43.793447673 +1100
    @@ -40,7 +40,8 @@
     #define DSPF_DP_LUD_INV_H_
     
     #if defined(_TMS320C6600)
    -#include <ti/dsplib/src/DSPF_dp_lud_inv/c66/DSPF_dp_lud_inv.h>
    +/*#include <ti/dsplib/src/DSPF_dp_lud_inv/c66/DSPF_dp_lud_inv.h>*/
    +#include <ti/dsplib/src/DSPF_dp_lud_inv/C66/DSPF_dp_lud_inv.h> /* kb */
     #else
     #error invalid target
     #endif
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud_sol/DSPF_dp_lud_sol.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_lud_sol/DSPF_dp_lud_sol.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_lud_sol/DSPF_dp_lud_sol.h	2014-08-26 22:01:09.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_lud_sol/DSPF_dp_lud_sol.h	2018-01-30 10:52:22.488600515 +1100
    @@ -40,7 +40,8 @@
     #define DSPF_DP_LUD_SOL_H_
     
     #if defined(_TMS320C6600)
    -#include <ti/dsplib/src/DSPF_dp_lud_sol/c66/DSPF_dp_lud_sol.h>
    +/*#include <ti/dsplib/src/DSPF_dp_lud_sol/c66/DSPF_dp_lud_sol.h>*/
    +#include <ti/dsplib/src/DSPF_dp_lud_sol/C66/DSPF_dp_lud_sol.h>
     #else
     #error invalid target
     #endif
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_qrd/DSPF_dp_qrd.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_qrd/DSPF_dp_qrd.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_qrd/DSPF_dp_qrd.h	2014-08-26 22:01:09.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_qrd/DSPF_dp_qrd.h	2018-01-30 10:52:53.263934682 +1100
    @@ -40,7 +40,8 @@
     #define _DSPF_DP_QRD_H_
     
     #if defined(_TMS320C6600)
    -#include <ti/dsplib/src/DSPF_dp_qrd/c66/DSPF_dp_qrd.h>
    +/*#include <ti/dsplib/src/DSPF_dp_qrd/c66/DSPF_dp_qrd.h>*/
    +#include <ti/dsplib/src/DSPF_dp_qrd/C66/DSPF_dp_qrd.h>
     #else
     #error invalid target
     #endif
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_svd/DSPF_dp_svd.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_svd/DSPF_dp_svd.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_dp_svd/DSPF_dp_svd.h	2014-08-26 22:01:09.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_dp_svd/DSPF_dp_svd.h	2018-01-30 10:53:39.838939416 +1100
    @@ -40,7 +40,8 @@
     #define _DSPF_DP_SVD_H_
     
     #if defined(_TMS320C6600)
    -#include <ti/dsplib/src/DSPF_dp_svd/c66/DSPF_dp_svd.h>
    +/*#include <ti/dsplib/src/DSPF_dp_svd/c66/DSPF_dp_svd.h>*/
    +#include <ti/dsplib/src/DSPF_dp_svd/C66/DSPF_dp_svd.h> /* kb */
     #else
     #error invalid target
     #endif
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_erand/c66/DSPF_sp_erand.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_erand/c66/DSPF_sp_erand.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_erand/c66/DSPF_sp_erand.h	2014-08-26 22:01:09.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_erand/c66/DSPF_sp_erand.h	2018-01-30 11:00:44.538370711 +1100
    @@ -48,7 +48,8 @@
     #include "C6xSimulator_type_modifiers.h"  // define/undefine typing keywords
     #endif
     
    -#include "..\..\DSP_urand32\c66\DSP_urand32.h"
    +/* #include "..\..\DSP_urand32\c66\DSP_urand32.h" */
    +#include "../../DSP_urand32/c66/DSP_urand32.h"
     
     /** @ingroup MATH */
     /* @{ */
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_fftSPxSP_r2c/c66/DSPF_sp_fftSPxSP_r2c.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_fftSPxSP_r2c/c66/DSPF_sp_fftSPxSP_r2c.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_fftSPxSP_r2c/c66/DSPF_sp_fftSPxSP_r2c.h	2014-08-26 22:01:09.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_fftSPxSP_r2c/c66/DSPF_sp_fftSPxSP_r2c.h	2018-01-30 11:05:09.268731703 +1100
    @@ -44,7 +44,8 @@
     #ifndef DSPF_SP_fftSPxSP_R2C_H_
     #define DSPF_SP_fftSPxSP_R2C_H_
     
    -#include "..\..\DSPF_SP_fftSPxSP\c66\DSPF_SP_fftSPxSP.h"
    +/* #include "..\..\DSPF_SP_fftSPxSP\c66\DSPF_SP_fftSPxSP.h" */
    +#include "../../DSPF_sp_fftSPxSP/c66/DSPF_sp_fftSPxSP.h"
     
     /** @ingroup FFT */
     /* @{ */
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_ifftSPxSP_c2r/c66/DSPF_sp_ifftSPxSP_c2r.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_ifftSPxSP_c2r/c66/DSPF_sp_ifftSPxSP_c2r.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_ifftSPxSP_c2r/c66/DSPF_sp_ifftSPxSP_c2r.h	2014-08-26 22:01:10.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_ifftSPxSP_c2r/c66/DSPF_sp_ifftSPxSP_c2r.h	2018-01-30 11:05:53.695790129 +1100
    @@ -44,7 +44,8 @@
     #ifndef DSPF_SP_ifftSPxSP_c2r_H_
     #define DSPF_SP_ifftSPxSP_c2r_H_
     
    -#include "..\..\DSPF_SP_ifftSPxSP\c66\DSPF_SP_ifftSPxSP.h"
    +/*#include "..\..\DSPF_SP_ifftSPxSP\c66\DSPF_SP_ifftSPxSP.h"*/
    +#include "../../DSPF_sp_ifftSPxSP/c66/DSPF_sp_ifftSPxSP.h"
     
     /** @ingroup FFT */
     /* @{ */
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_nrand/c66/DSPF_sp_nrand.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_nrand/c66/DSPF_sp_nrand.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_nrand/c66/DSPF_sp_nrand.h	2014-08-26 22:01:11.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_nrand/c66/DSPF_sp_nrand.h	2018-01-30 11:07:39.945577252 +1100
    @@ -48,7 +48,8 @@
     #include "C6xSimulator_type_modifiers.h"  // define/undefine typing keywords
     #endif
     
    -#include "..\..\DSP_urand32\c66\DSP_urand32.h"
    +/*include "..\..\DSP_urand32\c66\DSP_urand32.h" */
    +#include "../../DSP_urand32/c66/DSP_urand32.h"
     
     /** @ingroup MATH */
     /* @{ */
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_qrd/DSPF_sp_qrd.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_qrd/DSPF_sp_qrd.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_qrd/DSPF_sp_qrd.h	2014-08-26 22:01:11.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_qrd/DSPF_sp_qrd.h	2018-01-30 11:12:31.043727920 +1100
    @@ -40,7 +40,8 @@
     #define _DSPF_SP_QRD_H_
     
     #if defined(_TMS320C6600)
    -#include <ti/dsplib/src/DSPF_sp_qrd/c66/DSPF_sp_qrd.h>
    +/*#include <ti/dsplib/src/DSPF_sp_qrd/c66/DSPF_sp_qrd.h>*/
    +#include <ti/dsplib/src/DSPF_sp_qrd/C66/DSPF_sp_qrd.h>
     #else
     #error invalid target
     #endif
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_svd/DSPF_sp_svd.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_svd/DSPF_sp_svd.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_svd/DSPF_sp_svd.h	2014-08-26 22:01:11.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_svd/DSPF_sp_svd.h	2018-01-30 11:13:13.642891574 +1100
    @@ -40,7 +40,8 @@
     #define _DSPF_SP_SVD_H_
     
     #if defined(_TMS320C6600)
    -#include <ti/dsplib/src/DSPF_sp_svd/c66/DSPF_sp_svd.h>
    +/*#include <ti/dsplib/src/DSPF_sp_svd/c66/DSPF_sp_svd.h>*/
    +#include <ti/dsplib/src/DSPF_sp_svd/C66/DSPF_sp_svd.h>
     #else
     #error invalid target
     #endif
    diff -Naur dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_urand/c66/DSPF_sp_urand.h dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_urand/c66/DSPF_sp_urand.h
    --- dsplib_c66x_3_4_0_0/packages/ti/dsplib/src/DSPF_sp_urand/c66/DSPF_sp_urand.h	2014-08-26 22:01:11.000000000 +1000
    +++ dsplib_c66x_3_4_0_0_modified/packages/ti/dsplib/src/DSPF_sp_urand/c66/DSPF_sp_urand.h	2018-01-30 11:14:16.085672571 +1100
    @@ -48,7 +48,8 @@
     #include "C6xSimulator_type_modifiers.h"  // define/undefine typing keywords
     #endif
     
    -#include "..\..\DSP_urand32\c66\DSP_urand32.h"
    +/*include "..\..\DSP_urand32\c66\DSP_urand32.h"*/
    +#include "../../DSP_urand32/c66/DSP_urand32.h"
     
     
     /** @ingroup MATH */