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.

CCS/DRV8353RS-EVM: gmake: *** No rule to make target

Part Number: DRV8353RS-EVM
Other Parts Discussed in Thread: MOTORWARE, DRV8353

Tool/software: Code Composer Studio

Multiple error messages trying to build DRV8353RS-EVM sample firmware: e.g. "gmake: *** No rule to make target 'C:/TI/DRV8353Rx-1.0.1/sw/drivers/cpu/src/32b/f28x/f2802x/CodeStartBranch.asm', needed by 'CodeStartBranch.obj'." 

File CodeStartBranch.asm exists in a folder within directory TI, but it appears the compiler doesn't have a PATH to that folder.  How do you eliminate these error messages?

  • For the TI evaluation board, we installed the IDE and the DRV8353RS/H-EVM Firmware (Rev. A) to build the sample firmware program.
    We installed the environment with the users guide, starting on page 10.  It appears this guide is out of date and it may have wrong executable file names.  Creativity required!
    It appears you have to set the path in CCS (Code Composer Studio) IDE to the modules in the MotorWare™ Software that is specific to the DRV8353RS/H.  We import the project into the CCS then right click on the project and select properties then Resources then Path Variables.  The entry MW_INSTALL_DIR has to point to the Motorware library so the compiler can find the subroutines.  In this case edit MW_INSTALL_DIR and browse to C:\ti\motorware\motorware_1_01_00_18\sw\drivers\adc\src\32b\f28x\f2802x\etc.  Look at "Linked Resources" on the next tab to see the routines it is looking for and where...  Oddly the "Linked Resources" doesn't show any *.h files, only *.c files.  And the adc.h file is one of the unavailable files according to the compiler diagnostics!  See below.
     
    The code at line 41 of file adc.c is:
    #include "sw/drivers/adc/src/32b/f28x/f2802x/adc.h"
    It seems there is something missing to the path or the some definition to allow the compiler to see adc.h
     
    We are getting closer, but not there yet.  After fixing the path to get at some of the modules, it complains that it can't open adc.h which is in the same folder as adc.c that it DID find and open.  The following is the first part of the output showing the error in bold text:
    **** Build of configuration Flash for project proj_lab05b ****
    "C:\\ti\\ccs910\\ccs\\utils\\bin\\gmake" -k all 
     
    Building file: "C:/ti/motorware/motorware_1_01_00_18/sw/drivers/adc/src/32b/f28x/f2802x/adc.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs910/ccs/tools/compiler/ti-cgt-c2000_18.12.2.LTS/bin/cl2000" -v28 -ml -mt -O2 --include_path="C:/ti/motorware_drv8353/motorware_1_01_00_18/sw/modules/hal/boards/drv8353/f28x/f2802x/src" --include_path="C:/ti/ccs910/ccs/tools/compiler/ti-cgt-c2000_18.12.2.LTS/include" --include_path="C:/ti/DRV8353Rx-1.0.1/drv8353Rx_instaspinFOC_FW/drv83xx_foc/instaspin_foc/boards/drv8353/f28x/f2802xF/src" --include_path="C:/ti/DRV8353Rx-1.0.1" -g --define=FLASH --define=FAST_ROM_V1p7 --define=F2802xF --diag_warning=225 --display_error_number --asm_listing --preproc_with_compile --preproc_dependency="adc.d_raw"  "C:/ti/motorware/motorware_1_01_00_18/sw/drivers/adc/src/32b/f28x/f2802x/adc.c"
     
    >> Compilation failure
    subdir_rules.mk:16: recipe for target 'adc.obj' failed
    "C:/ti/motorware/motorware_1_01_00_18/sw/drivers/adc/src/32b/f28x/f2802x/adc.c", line 41: fatal error #1965: cannot open source file "sw/drivers/adc/src/32b/f28x/f2802x/adc.h"
    1 catastrophic error detected in the compilation of "C:/ti/motorware/motorware_1_01_00_18/sw/drivers/adc/src/32b/f28x/f2802x/adc.c".
    Compilation terminated.
    gmake: *** [adc.obj] Error 1
    Building file: "C:/ti/motorware/motorware_1_01_00_18/sw/modules/clarke/src/32b/clarke.c"
    Invoking: C2000 Compiler
  • Problem resolved.  You have to load the sample firmware from MotorWare, not from the sample firmware from the DRV8353RS web page because the paths for the includes are not set up with the latter. You have to be sure to select the proper project file from amongst the many motorware projects.

    Assuming that the EVM firmware is not already in MotorWare, you have to go through a rather lengthy process to put the EVM firmware into MotorWare.  In the case of the DRV8353RS-EVM, the detailed instructions are found in "DRV8353Rx-EVM InstaSPIN™ Software Quick Start Guide"  http://www.ti.com/lit/ug/slvubh8b/slvubh8b.pdf.  It should be noted that the document is out of date and the directory paths of the sample FW and the destination libraries in MotorWare have changed.  Creativity required!  

    You also have to change the CCS drv8353 custom include path in “Project→Properties→Build→C2000 Compiler→Include Options” because the system generated an incorrect path to C:\ti\motorware-DRV8353\motorware_1_01_00_18\sw\modules\hal\boards\drv8353\f28x\f2802x\src.  The include has to be corrected as follows: C:\ti\motorware\motorware_1_01_00_18\sw\modules\hal\boards\drv8353\f28x\f2802x\src.

  • Glad to hear you resolved the issue and thanks for the update!

    ki