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.

CODECOMPOSER: C2000Ware install in Docker container

Part Number: CODECOMPOSER
Other Parts Discussed in Thread: C2000WARE, CCSTUDIO

I'm trying to set up a CI system with Docker.  So far I have been able to flash a board with `loadti` through the Docker container but I cannot build with it.  There seems to be a few issues surrounding installing C2000ware:

1. I copied a zipped copy of C2000ware from a repository directory to the Docker container, unzipped it, and installed it.  This all seems to run fine with no error but I do not see the c2000 files in the Docker container 

COPY ./resources/C2000Ware_5_00_00_00_setup.zip /

# RUN ls -la /home
# Ensure the installer is executable
RUN unzip /C2000Ware_5_00_00_00_setup.zip -d /home/

RUN chmod +x /home/C2000Ware_5_00_00_00_setup.run
# RUN chmod +x /home/app/resources/C2000Ware_5_00_00_00_setup.run
# Install C2000Ware (Assuming the installer supports an unattended mode)
RUN /home/C2000Ware_5_00_00_00_setup.run --mode unattended

2.  Since the copy and install didn't work I tried just manually installing the C2000ware from the Docker container.  This went fine and I now see the C2000ware files in /opt/ti/c2000/C2000Ware_5_00_00_00/.  However, CCS does not see the files and so builds continue to fail.  I then found a post about this issue and tried makign CCS aware of the C2000Ware path.  Here's another similar problem.

ccstudio -application com.ti.common.core.initialize \ -ccs.productDicoveryath "/opt/ti/c2000/C2000Ware_5_00_00_00/"

Does anyone have advice on how to proceed?  Here's the output of the build attempt from within Docker which is mounted to the top level of the firmware repo:


root@fe2370da946d:/home/app# /opt/ti/ccs/eclipse/eclipse -noSplash -data '/home/workspace' \-application com.ti.ccstudio.apps.projectImport -ccs.location '/home/app' && \/opt/ti/ccs/eclipse/eclipse -noSplash -data '/home/workspace' \-application com.ti.ccstudio.apps.projectBuild -ccs.projects universal_motorcontrol_lab_f28003x -ccs.buildType full
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

--------------------------------------------------------------------------------
Importing project from '/home/app'...


Done!
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CCS headless build starting... [Wed Apr 03 02:13:54 UTC 2024] 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

================================================================================
Pre processing...


================================================================================
Building...


**** Clean-only build of configuration Flash_lib_DRV8323RH_3SC for project universal_motorcontrol_lab_f28003x ****

/opt/ti/ccs/utils/bin/gmake -k -j 20 clean -O 
 
rm -rf  "universal_motorcontrol_lab_f28003x.out" 
rm -rf "sys_main.obj" "libraries/control/dclink_ss/dclink_ss.obj" "libraries/control/fwc/fwc.obj" "libraries/control/mtpa/mtpa.obj" "libraries/control/pi/pi.obj" "libraries/control/vs_freq/vs_freq.obj" "libraries/dacs/dac128s085/dac128s085.obj" "libraries/filter/filter_fo/filter_fo.obj" "libraries/observers/encoder/encoder.obj" "libraries/observers/esmo/esmo.obj" "libraries/observers/isbldc/isbldc.obj" "libraries/observers/speedcalc/speedcalc.obj" "libraries/observers/speedfr/speedfr.obj" "libraries/observers/ssipd/ssipd.obj" "libraries/transforms/clarke/clarke.obj" "libraries/transforms/ipark/ipark.obj" "libraries/transforms/park/park.obj" "libraries/transforms/svgen/svgen.obj" "libraries/transforms/svgen/svgen_current.obj" "libraries/transforms/volts/volt_recons.obj" "libraries/utilities/angle_gen/angle_gen.obj" "libraries/utilities/cpu_time/cpu_time.obj" "libraries/utilities/mod6cnt/mod6cnt.obj" "libraries/utilities/rimpulse/rimpulse.obj" "libraries/utilities/traj/traj.obj" "src_board/hal.obj" 
rm -rf "src_board/user_mtr1.obj" "src_control/bootloader.obj" "src_control/communication.obj" "src_control/imu.obj" "src_control/motor1_drive.obj" "src_control/motor_common.obj" "src_control/mu150_encoder.obj" "src_control/rs485.obj" "src_control/spi_fifo.obj" "src_control/spi_fifo_imu.obj" "src_device/device.obj" "src_device/f28003x_codestartbranch.obj" "src_device/f28003x_globalvariabledefs.obj" 
rm -rf "sys_main.d" "libraries/control/dclink_ss/dclink_ss.d" "libraries/control/fwc/fwc.d" "libraries/control/mtpa/mtpa.d" "libraries/control/pi/pi.d" "libraries/control/vs_freq/vs_freq.d" "libraries/dacs/dac128s085/dac128s085.d" "libraries/filter/filter_fo/filter_fo.d" "libraries/observers/encoder/encoder.d" "libraries/observers/esmo/esmo.d" "libraries/observers/isbldc/isbldc.d" "libraries/observers/speedcalc/speedcalc.d" "libraries/observers/speedfr/speedfr.d" "libraries/observers/ssipd/ssipd.d" "libraries/transforms/clarke/clarke.d" "libraries/transforms/ipark/ipark.d" "libraries/transforms/park/park.d" "libraries/transforms/svgen/svgen.d" "libraries/transforms/svgen/svgen_current.d" "libraries/transforms/volts/volt_recons.d" "libraries/utilities/angle_gen/angle_gen.d" "libraries/utilities/cpu_time/cpu_time.d" "libraries/utilities/mod6cnt/mod6cnt.d" "libraries/utilities/rimpulse/rimpulse.d" "libraries/utilities/traj/traj.d" "src_board/hal.d" "src_board/user_mtr1.d" "src_control/bootloader.d" 
rm -rf "src_control/communication.d" "src_control/imu.d" "src_control/motor1_drive.d" "src_control/motor_common.d" "src_control/mu150_encoder.d" "src_control/rs485.d" "src_control/spi_fifo.d" "src_control/spi_fifo_imu.d" "src_device/device.d" "src_device/f28003x_globalvariabledefs.d" 
rm -rf "src_device/f28003x_codestartbranch.d" 
Finished clean
 

**** Build Finished ****
Buildfile generation error occurred..
Product motor_control_c2000ware_sdk_software_package v5.0.0.00 is not currently installed and no compatible version is available. Please install this product or a compatible version.
Build stopped..


================================================================================
CCS headless build complete! 1 out of 1 projects have errors.
root@fe2370da946d:/home/app# 

Docker file structre:

root@fe2370da946d:/home/app# ls
Dockerfile               TMS320F280039C_LaunchPad.ccxml  libraries  src_board    sys_main.c      workspace_v12
Flash_lib_DRV8323RH_3SC  bootload.py                     resources  src_control  sys_main.h      ws2812b_rpi_dashboard.py
README.md                debug_expressions.txt           sender.py  src_device   sys_settings.h
root@fe2370da946d:/home/app# ls Flash_lib_DRV8323RH_3SC/
ccsObjs.opt  sources.mk   subdir_rules.mk                         universal_motorcontrol_lab_f28003x_linkInfo.xml
libraries    src_board    subdir_vars.mk                          workspace_v12
makefile     src_control  sys_main.d_raw
objects.mk   src_device   universal_motorcontrol_lab_f28003x.map

  • Hi,

    Which are the products that CCS is able to discover? 

    The discovery path that you have specified will only disover the C2000Ware , however the error is thrown for the 'motor_control_c2000ware_sdk_software_package' package. 

    Is this also installed ?  If so , you can specify '/opt/ti/c2000' as the discovery path so that it finds the motor control sdk also

    Best Regards

    Siddharth

  • I tried changing the install path to `/opt/ti/c2000` but it is still not found:

    root@53c4521b41b5:/home/app# ./resources/C2000Ware_5_00_00_00_setup.run --mode unattended
    root@53c4521b41b5:/home/app# ls /opt/ti/
    'Code Composer Studio 12.6.0.desktop'   c2000   ccs   xdctools_3_62_01_16_core
    root@53c4521b41b5:/home/app# ccstudio -application com.ti.common.core.initialize \ -ccs.productDicoveryath "/opt/ti/c2000
    > ^C
    root@53c4521b41b5:/home/app# ccstudio -application com.ti.common.core.initialize \ -ccs.productDicoveryath "/opt/ti/c2000"
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    
    Searching for deleted extension-sites to uninstall:
    	Finished!
    
    Searching for new extension-sites to install:
    	Finished!
    
    root@53c4521b41b5:/home/app# /opt/ti/ccs/eclipse/eclipse -noSplash -data '/' \
    > -application com.ti.ccstudio.apps.projectImport -ccs.location '/home/app' && \
    > /opt/ti/ccs/eclipse/eclipse -noSplash -data '/' \
    > -application com.ti.ccstudio.apps.projectBuild -ccs.projects universal_motorcontrol_lab_f28003x -ccs.buildType full
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    
    --------------------------------------------------------------------------------
    Importing project from '/home/app'...
    
    
    Done!
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    CCS headless build starting... [Wed Apr 03 17:00:58 UTC 2024] 
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    ================================================================================
    Pre processing...
    
    
    ================================================================================
    Building...
    
    
    **** Clean-only build of configuration Flash_lib_DRV8323RH_3SC for project universal_motorcontrol_lab_f28003x ****
    
    /opt/ti/ccs/utils/bin/gmake -k -j 20 clean -O 
     
    rm -rf  "universal_motorcontrol_lab_f28003x.out" 
    rm -rf "sys_main.obj" "libraries/control/dclink_ss/dclink_ss.obj" "libraries/control/fwc/fwc.obj" "libraries/control/mtpa/mtpa.obj" "libraries/control/pi/pi.obj" "libraries/control/vs_freq/vs_freq.obj" "libraries/dacs/dac128s085/dac128s085.obj" "libraries/filter/filter_fo/filter_fo.obj" "libraries/observers/encoder/encoder.obj" "libraries/observers/esmo/esmo.obj" "libraries/observers/isbldc/isbldc.obj" "libraries/observers/speedcalc/speedcalc.obj" "libraries/observers/speedfr/speedfr.obj" "libraries/observers/ssipd/ssipd.obj" "libraries/transforms/clarke/clarke.obj" "libraries/transforms/ipark/ipark.obj" "libraries/transforms/park/park.obj" "libraries/transforms/svgen/svgen.obj" "libraries/transforms/svgen/svgen_current.obj" "libraries/transforms/volts/volt_recons.obj" "libraries/utilities/angle_gen/angle_gen.obj" "libraries/utilities/cpu_time/cpu_time.obj" "libraries/utilities/mod6cnt/mod6cnt.obj" "libraries/utilities/rimpulse/rimpulse.obj" "libraries/utilities/traj/traj.obj" "src_board/hal.obj" 
    rm -rf "src_board/user_mtr1.obj" "src_control/bootloader.obj" "src_control/communication.obj" "src_control/imu.obj" "src_control/motor1_drive.obj" "src_control/motor_common.obj" "src_control/mu150_encoder.obj" "src_control/rs485.obj" "src_control/spi_fifo.obj" "src_control/spi_fifo_imu.obj" "src_device/device.obj" "src_device/f28003x_codestartbranch.obj" "src_device/f28003x_globalvariabledefs.obj" 
    rm -rf "sys_main.d" "libraries/control/dclink_ss/dclink_ss.d" "libraries/control/fwc/fwc.d" "libraries/control/mtpa/mtpa.d" "libraries/control/pi/pi.d" "libraries/control/vs_freq/vs_freq.d" "libraries/dacs/dac128s085/dac128s085.d" "libraries/filter/filter_fo/filter_fo.d" "libraries/observers/encoder/encoder.d" "libraries/observers/esmo/esmo.d" "libraries/observers/isbldc/isbldc.d" "libraries/observers/speedcalc/speedcalc.d" "libraries/observers/speedfr/speedfr.d" "libraries/observers/ssipd/ssipd.d" "libraries/transforms/clarke/clarke.d" "libraries/transforms/ipark/ipark.d" "libraries/transforms/park/park.d" "libraries/transforms/svgen/svgen.d" "libraries/transforms/svgen/svgen_current.d" "libraries/transforms/volts/volt_recons.d" "libraries/utilities/angle_gen/angle_gen.d" "libraries/utilities/cpu_time/cpu_time.d" "libraries/utilities/mod6cnt/mod6cnt.d" "libraries/utilities/rimpulse/rimpulse.d" "libraries/utilities/traj/traj.d" "src_board/hal.d" "src_board/user_mtr1.d" "src_control/bootloader.d" 
    rm -rf "src_control/communication.d" "src_control/imu.d" "src_control/motor1_drive.d" "src_control/motor_common.d" "src_control/mu150_encoder.d" "src_control/rs485.d" "src_control/spi_fifo.d" "src_control/spi_fifo_imu.d" "src_device/device.d" "src_device/f28003x_globalvariabledefs.d" 
    rm -rf "src_device/f28003x_codestartbranch.d" 
    Finished clean
     
    
    **** Build Finished ****
    Buildfile generation error occurred..
    Product motor_control_c2000ware_sdk_software_package v5.0.0.00 is not currently installed and no compatible version is available. Please install this product or a compatible version.
    Build stopped..
    
    
    ================================================================================
    CCS headless build complete! 1 out of 1 projects have errors.
    root@53c4521b41b5:/home/app# 
    

    Is there a way to see which CCS extensions are installed?  or to install the extension through the command line through CCS directly instead of installing C2000ware along side CCS?

  • Hi

    Is "motor_control_c2000ware_sdk_software_package" also installed?

    Best Regards

    Siddharth