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.

TMS320F28388D: Driverlib included in example project doesn't build.

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

Hi Experts,

Good day

I'm trying to familiarize myself with the aforementioned board by importing an example project from the C2000Ware driverlib_cm folder (more specifically the "systick_ex1_interrupt" one). However, when I try to build it, all I have are errors due to the fact that the project has a "driverlib_cm.lib" file that it doesn't know how to build: "gmake: *** No rule to make target '/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib', needed by 'all'"

The project folder does include the folder with the necessary source files ({C2000WARE_INSTALL_DIR}/driverlib/f2838x/driverlib_cm) but it still won't compile

I am working on Linux (Ubuntu 22.04)

Any idea?

Please advise.

Regards,

Josel

  • Josel, 

    Please share the compilation log to take a look at this issue. I am unable to reproduce it.  The same example compiles fine without any errors . I am using C2000Ware v4.03.00.00

    Best Regards

    Siddharth

  • Hi Siddharth,

    Here's the build log:


    **** Clean-only build of configuration CM_RAM for project systick_ex1_interrupt ****

    /home/anthony/ti/ccs1220/ccs/utils/bin/gmake -k -j 8 clean -O

    rm -rf "systick_ex1_interrupt.out"
    rm -rf "startup_cm.obj" "systick_ex1_interrupt.obj" "device/cm.obj"
    rm -rf "startup_cm.d" "systick_ex1_interrupt.d" "device/cm.d"
    Finished clean


    **** Build Finished ****

    **** Build of configuration CM_RAM for project systick_ex1_interrupt ****

    /home/anthony/ti/ccs1220/ccs/utils/bin/gmake -k -j 8 all -O

    Building file: "../startup_cm.c"
    Invoking: Arm Compiler
    "/home/anthony/ti/ccs1220/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -Ooff --include_path="/home/anthony/Repositories/CCSTests/systick_ex1_interrupt" --include_path="/home/anthony/Repositories/CCSTests/systick_ex1_interrupt/device" --include_path="/home/anthony/ti/C2000Ware_4_03_00_00/driverlib/f2838x/driverlib_cm" --include_path="/home/anthony/ti/ccs1220/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=DEBUG --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="startup_cm.d_raw" "../startup_cm.c"
    Finished building: "../startup_cm.c"

    gmake: *** No rule to make target '/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib', needed by 'all'.

    Building file: "../systick_ex1_interrupt.c"
    Invoking: Arm Compiler
    "/home/anthony/ti/ccs1220/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -Ooff --include_path="/home/anthony/Repositories/CCSTests/systick_ex1_interrupt" --include_path="/home/anthony/Repositories/CCSTests/systick_ex1_interrupt/device" --include_path="/home/anthony/ti/C2000Ware_4_03_00_00/driverlib/f2838x/driverlib_cm" --include_path="/home/anthony/ti/ccs1220/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=DEBUG --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="systick_ex1_interrupt.d_raw" "../systick_ex1_interrupt.c"
    Finished building: "../systick_ex1_interrupt.c"

    Building file: "../device/cm.c"
    Invoking: Arm Compiler
    "/home/anthony/ti/ccs1220/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -Ooff --include_path="/home/anthony/Repositories/CCSTests/systick_ex1_interrupt" --include_path="/home/anthony/Repositories/CCSTests/systick_ex1_interrupt/device" --include_path="/home/anthony/ti/C2000Ware_4_03_00_00/driverlib/f2838x/driverlib_cm" --include_path="/home/anthony/ti/ccs1220/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=DEBUG --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="device/cm.d_raw" --obj_directory="device" "../device/cm.c"
    Finished building: "../device/cm.c"

    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

    The project explorer does contain some sort of pseudo lib file which causes a "This project contains 1 unresolved buildable linked resource(s). The project may not build as expected." warning (see bottom of attached screenshot). I guess the example expects it to be compiled already but I don't have enough familiarity with the tools and CCS to tell it to compile it from the files in the device/driverlib_cm folder, nor have I found an example project to build only the lib file

    Regards,

    Josel

  • Josel, 

    Will check and get back to you. Ideally it should not build the driverlib_cm, it should use the prebuilt library.

    Best Regards

    Siddharth 

  • Hi Siddharth,

    I haven't found any prebuilt lib file for the required library nor any example project to build it from the available sources. Should there be any ?

    Regards,

    Josel

  • Josel,

    Is the driverlib_cm.lib not included in the project by default? 

    You can also try importing the project for the driverlib_cm located at [c2000wareinstall]\driverlib\f2838x\sriverlib_cm\ccs and compile it.If it compiles fine, then you can link it to the systick_ex1_interrupt example and then recompile the example.

    Best Regards

    Siddharth 

  • Hi Siddharth,

    Only a "virtual file" exists in the CCS project (see the "driverlib_cm.lib" file at the bottom of the screenshot attached to my previous mail): the file is referenced in the CCS project explorer but the file doesn't exist on the drive at the referenced path, which is probably why I get the warning and the errors at compile time. It apparently behaves like a make target because when the file is nowhere to be found, CCS tries to build from source it but does not find any way to do it and generates a "gmake" error (see log in my previous email).

    I cannot find the last folder of the path you're mentioning: in the [C2000WareInstall]/driverlib/f2838x/driverlib_cm folder, all I have are the driverlib .c and .h files (aes.c/h, cmmpu.c/h,...) and the "inc" folder. No "ccs" folder to be found. I downloaded C2000Ware from the resource explorer in CCS and I'm working on Linux. Is it possible that one of those two things made it so I don't have the whole package ?

    I finally found a solution however: Going into properties>C/C++ General>Paths and Symbols>Source Location and adding the folder containing the source files and then deleting the driverlib_cm.lib "virtual file" makes it so I can build without errors

    Have a nice day

    Regrads,

    Josel

  •  Josel,

    If you browse in the downloaded folder for C2000ware, then the driverlib_cm.lib should be located in C2000WareInstall]/driverlib/f2838x/driverlib_cm folder. 

    Will check on a Linux machine and get back to you.

    Best Regards

    Siddharth 

  • Hi Siddharth,

    Okay, I will wait for your response.

    Regards,

    Josel

  • Josel,

    The driverlib_cm.lib does exist in the installed package.  Not sure why you are unable to view it.

    Can you try reinstalling the package from https://www.ti.com/tool/C2000WARE#downloads

    Best Regards

    Siddharth