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.

TMS320F28379D: Error building the c28x_vcu2_library

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

The C2000Ware version 4_01_00 provides the vcu2 library in COFF format. However my project requires the library in EABI format. I have been able to successfully compile the library in the past. Recently I had to do a fresh installation of CCS and C2000Ware because of the laptop upgrade. I am trying to compile the library again for the EABI format but I am unable to build the project. I have tried two options:

1- Opening the project from the C2000Ware directory as shown below:

The build settings are as shown below:

The build output is given below:

**** Build of configuration ISA_C28FPU32 for project c28x_vcu2_library ****

"C:\\ti\\ccs1120\\ccs\\utils\\bin\\gmake" all 
 
Building file: "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/common/c/crc/crc_16.c"
Invoking: C2000 Compiler
"C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --abi=eabi --preproc_with_compile --preproc_dependency="crc/crc_16.d_raw" --obj_directory="crc"  "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/common/c/crc/crc_16.c"
 
>> Compilation failure
crc/subdir_rules.mk:9: recipe for target 'crc/crc_16.obj' failed
"C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/common/c/crc/crc_16.c", line 21: fatal error: cannot open source file "VCU2_CRC.h"
1 catastrophic error detected in the compilation of "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/common/c/crc/crc_16.c".
Compilation terminated.
gmake: *** [crc/crc_16.obj] Error 1

**** Build Finished ****

There seems to be some fundamental issue with the project setup as the include files cannot be located by the complier.

2- I have also tried using the project import wizard but the error remain same. I have tried both with the "copy projects in workspace" checkbox selected as well as de-selected.

Please guide.

  • I had to include the following paths to the compiler includes to build the project:

    The project builds with the following warnings:

    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/vcu2/deinterleaver/vcu2_deinterleaver.asm", WARNING! at line 182:
     [W9999]
             VSTATUS Register read access is in the delay slot of a write of the
               same register
    	    VCMPY     VR3, VR2, VR1, VR0                 ; DS2 | VR3 = a*I - u*J compute a * I - u * J
     
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/vcu2/deinterleaver/vcu2_deinterleaver.asm", WARNING! at line 182:
     [W9999]
             VSTATUS Register write access is in the delay slot of a write of the
               same register
    	    VCMPY     VR3, VR2, VR1, VR0                 ; DS2 | VR3 = a*I - u*J compute a * I - u * J
     
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/vcu2/deinterleaver/vcu2_deinterleaver.asm", WARNING! at line 190:
     [W9999]
             VSTATUS Register read access is in the delay slot of a write of the
               same register
    	    VMPYADD   VR5, VR5L, VR5H, VR4H              ; DS1 | VR5 = VR5L + VR5H*VR4H = i + j*m    compute i + j*m
     
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/vcu2/deinterleaver/vcu2_deinterleaver.asm", WARNING! at line 190:
     [W9999]
             VSTATUS Register write access is in the delay slot of a write of the
               same register
    	    VMPYADD   VR5, VR5L, VR5H, VR4H              ; DS1 | VR5 = VR5L + VR5H*VR4H = i + j*m    compute i + j*m
     
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/vcu2/deinterleaver/vcu2_deinterleaver.asm", WARNING! at line 209:
     [W9999]
             VSTATUS Register read access is in the delay slot of a write of the
               same register
    	    VCMPY     VR3, VR2, VR1, VR0                 ; DS3 |  VR3 = a*I - u*J compute a * I - u * J
     
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/vcu2/deinterleaver/vcu2_deinterleaver.asm", WARNING! at line 209:
     [W9999]
             VSTATUS Register write access is in the delay slot of a write of the
               same register
    	    VCMPY     VR3, VR2, VR1, VR0                 ; DS3 |  VR3 = a*I - u*J compute a * I - u * J
     
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/vcu2/deinterleaver/vcu2_deinterleaver.asm", WARNING! at line 216:
     [W9999]
             VSTATUS Register read access is in the delay slot of a write of the
               same register
    	    VMPYADD   VR5, VR5L, VR5H, VR4H              ; DS1 | VR5 = VR5L + VR5H*VR4H = i + j*m, compute i + j*m
     
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/source/vcu2/deinterleaver/vcu2_deinterleaver.asm", WARNING! at line 216:
     [W9999]
             VSTATUS Register write access is in the delay slot of a write of the
               same register
    	    VMPYADD   VR5, VR5L, VR5H, VR4H              ; DS1 | VR5 = VR5L + VR5H*VR4H = i + j*m, compute i + j*m

  • Hi,

    When you were able to build EABI version earlier - which version of C2000WARE you used and the compiler version used for that ? 

    Thanks

    Aravindhan

  • The C2000Ware was the same i.e. C2000Ware_4_01_00 but the compiler version was older. I think it was v20.2.4.LTS.

  • Hi,

    Thanks. One clue I need is - can you try with the 20.2.4 Compiler and confirm that this problem goes away ? 

    Thanks

    Aravindhan 

  • Hi Aravindhan,

        Its my bad that my last statement regarding the previous compiler version is not correct. I was going through my previous thread when I was able to build the library (I think without manually adding the include file paths). In the build logs I can see the below:

    Building file: "../main.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --fp_mode=relaxed --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/dsp/FixedPoint/c28/include" --include_path="C:/ti/C2000Ware_4_01_00_00/libraries/math/IQmath/c28/include" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/device/include" --include_path="C:/ti/C2000Ware_4_01_00_00/driverlib/f2837xD/driverlib" --include_path="C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=CPU1 --define=DEBUG --define=_FLASH --define=CLA_C --define=_DUAL_CORE_ --define=F2837XD_DEVICE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on --preproc_with_compile --preproc_dependency="main.d_raw" --include_path="D:/International Product/TI_LaunchPad/F28379D_Launchpad_CLA/CPU1_FLASH/syscfg" --cmd_file="syscfg/c2000ware_libraries.opt" "../main.c"
    "C:/ti/C2000Ware_4_01_00_00/libraries/dsp/VCU/c28/include/vcu2/vcu2_types.h", line 41: warning #48-D: incompatible redefinition of macro "NULL" (declared at line 81 of "C:\ti\C2000Ware_4_01_00_00\driverlib\f2837xD\driverlib\inc/hw_types.h")
    Finished building: "../main.c"

    So the C2000Ware version and compiler version were same. 

  • Hi, okay. In summary you are saying that earlier you were able to build with 4.01.00 and 21.6 tools and now on new laptop it is failing ? Did you change CCS versions or recollect version you had used before. I will try to reproduce the problem, share with me CCS version as well. 

    Thanks Aravindhan 

  • Hi Aravindhan,

      You are correct. Earlier I was able to build with 4.01.00 and 21.6 tools without any changes to compiler search directories. However I have been able to resolve the issue on the new laptop too  as mentioned earlier in this thread although here are only some warnings (as shown in the reply). Basically I had to manually add some compiler search directories.  However I agree that it will be helpful to reproduce this issue and provide a proper fix. The issue could be related to CCS version. On the new laptop the CCS version is 11.2.0. I am not sure, but most probably the old laptop had version 10.4.0. 

  • Hi,

    Thanks for the details. I will try to reproduce tomorrow and let you know. 

    Thanks Aravindhan 

  • Hi

    I installed 4.01.00.00 C2000WARE and built the library (c28x_vcu2_library) using 21.6 tools version (my CCS version was Version: 11.1.0.00011) and did not see any errors. I got 8 Assembly Warnings but the library got built (i tried to build both COFF and EABI). I will try to use CCS 11.2 and see what happens. I see that you have marked the thread as resolved, looks like this is not a show stopper as of now for you. let me know. 

    Thanks

    Aravindhan

  • Yes. I was able to resolve the issue by manually adding the include paths so we can close this thread.

  • Hi,

    yes. I will close the thread. I have taken an action to test out on CCS 11.2. I will reopen if there is anything i notice.

    Thanks

    Aravindhan