#Overview
Code Composer Studio has several terminal commands that can be used to create, build, and import projects.
The executable to run the command line builds is in the 'eclipse' folder of your CCS install:
<INSTALL DIR>\ccsv[x]\eclipse (where x is the major CCS version number).
**IMPORTANT:** The below examples are for CCSv5 and greater on Windows. If you are using CCSv4, see the [Working with CCSv4](#working-with-ccsv4) section below. If you are using CCS on Linux, see the [Working with CCS Linux](#working-with-ccs-linux) section below.
[[b Note:
These commands are specific to CCS and are different from the CDT headless commands. When working with CCS projects it is recommended to use the CCS specific commands rather than the CDT headless commands. The reverse holds true for non-CCS projects (standard Eclipse CDT projects). Do NOT use the the CCS specific commands to build standard Eclipse CDT projects. In those cases, use the CDT headless commands (check the standard Eclipse CDT documentation for details).]]
[[b CCS Theia:
Most of this content is applicable to CCS Eclipse. If using CCS Theia, please also refer to the [Working with CCS Theia](#working-with-ccs-theia) section below.]]
#Create a CCS Project
Usage:
```eclipsec -noSplash -data "" -application com.ti.ccstudio.apps.projectCreate (-ccs.projectSpec | -ccs.name -ccs.device ) []```
Options:
[[+d Full list of projectCreate options in CCS 11.0 (click to expand/collapse)
```text
-ccs.projectSpec ""
The project-spec defining the project(s) to be created.
See the /ccs/eclipse/plugins/com.ti.ccstudio.project.templates/schema/projectSpec.xsd file for details.
-ccs.name
The name of the new project.
-ccs.location ""
The filesystem location of the project, if it is
to be created outside of workspace (optional).
-ccs.outputType (executable | staticLibrary)
The output-type (optional).
Defaults to 'executable'.
-ccs.device
The device-variant ID.
A list of all available device-variant IDs will be
printed if this argument is missing or not recognized.
-ccs.endianness
The device endianness (optional).
Defaults to device-specific setting, if defined.
A list of all applicable endianness types will be
printed if this argument is not recognized.
-ccs.toolChain (TI | TICLANG | GNU)
Compiler tool-chain (optional).
Defaults to 'TI'.
-ccs.toolVersion
Compiler version (optional).
Defaults to highest applicable version.
-ccs.outputFormat (COFF | ELF)
The output-format (optional).
Defaults to device-specific setting, if defined, or 'COFF'.
-ccs.products "[[:];]+"
List of products to enable (optional).
-ccs.cmd ""
Linker command file to be physically copied into the project (optional).
Defaults to device-specific setting, if defined.
-ccs.rts ""
Runtime support library (optional).
Defaults to device-specific setting, if defined.
-ccs.configurations [ ]*
Space-separated list of build-configurations to create (optional).
Defaults to 'Debug Release'.
-ccs.defaultConfiguration
Name of one build-configuration which would be made active each time this project is imported into workspace.
-ccs.references [ ]*
Space-separated list of project-references to add to created project (optional).
-ccs.artifactName
Name of the build-artifact (optional).
Defaults to the name of the project.
-ccs.artifactExtension
Extension of the build-artifact (optional).
Defaults to 'out' or 'lib', depending on '-ccs.outputType'.
-ccs.listBuildOptions
Prints a list of all applicable build-options (optional).
Does not actually create the project.
-ccs.setCompilerOptions "" [@prepend] [@files ["" ]+] [@folders ["" ]+] [@configurations [ ]+]
Space-separated list of build-options to set on the created project's compiler tool (optional)
(use backslash '\' to escape all double-quotes in ).
Optionally, force the value for any list-type options to be prepended to current value.
Optionally, specify lists of files/folders (project-relative paths) to set these options on.
Optionally, specify a list of build-configurations in which these options are to be set.
-ccs.setLinkerOptions "" [@prepend] [@configurations [ ]+]
Similar to -ccs.setCompilerOptions
-ccs.setHexOptions "" [@prepend] [@configurations [ ]+]
Similar to -ccs.setCompilerOptions. Hex tool needs to be separately enabled using -ccs.enableHexTool.
-ccs.setSysConfigOptions "" [@prepend] [@configurations [ ]+]
Similar to -ccs.setCompilerOptions. SysConfig tool needs to be separately enabled using -ccs.enableSysConfigTool.
-ccs.enableHexTool
Enable the Hex tool with its default build-options (optional).
Defaults to 'false'.
-ccs.enableSysConfigTool
Enable the SysConfig tool with its default build-options (optional).
Defaults to 'false'.
-ccs.setPreBuildStep "" [@configurations [ ]+]
Command to be used as a pre-build step (optional)
(use backslash '\' to escape all double-quotes in ).
Optionally, specify a list of build-configurations in which this build-step is to be set.
-ccs.setPostBuildStep "" [@configurations [ ]+]
Command to be used as a post-build step (optional)
(use backslash '\' to escape all double-quotes in ).
Optionally, specify a list of build-configurations in which this build-step is to be set.
-ccs.copyFile "" [@dir ""] [@configurations [ ]+]
Copies the given file/directory into the project upon creation (optional).
Optionally, specify a project-relative directory as the file's destination.
Optionally, specify a list of build-configurations in which this file is to be used.
-ccs.linkFile "" [@dir "" [@virtual]] [@configurations [ ]+]
Links the given file/directory into the project upon creation (optional).
Optionally, specify a project-relative directory as the file's destination.
Optionally, specify whether the destination directory should be created as virtual.
Optionally, specify a list of build-configurations in which this file is to be used.
-ccs.definePathVariable [@scope (global|project)]
Defines the given path-variable for resolving portable linked file paths (optional)
(also defines a global build-macro with the same name and value).
Optionally, specify the scope (defaults to 'global').
-ccs.defineBuildVariable [@type (string|dir|file)] [@scope (global|project|configuration)] [@configurations [ ]+]
Defines the given build-variable (optional).
Optionally, specify the type (defaults to 'string').
Optionally, specify the scope (defaults to 'global').
Optionally, specify a list of build-configurations in which this build-variable is to be defined
(applies only when scope is 'configuration').
-ccs.autoGenerateMakefiles (true|false)
Turns automatic makefile-generation on/off (optional).
Defaults to 'true'.
-ccs.buildLocation ""
Absolute or project-relative path to folder to be used as the build-directory (optional).
Applies only when the '-ccs.autoGenerateMakefiles' flag is set to 'false'.
Defaults to project root-directory.
-ccs.buildCommand ""
Absolute path to an alternative build utility (optional).
Defaults to the gmake utility that is shipped with CCS.
-ccs.buildCommandFlags ""
List of flags to override the default build-command flags (optional).
-ccs.buildTarget
Name of the target to run during an incremental build (optional).
Defaults to 'all'.
-ccs.cleanTarget
Name of the target to run during a clean build (optional).
Defaults to 'clean'.
-ccs.template
ID of the project-template to use when generating the new project (optional).
A list of all applicable template IDs will be
printed if this argument is not recognized.
-ccs.ignoreDefaultDeviceSettings
Iff 'true' ignores any default settings specified by the selected device.
-ccs.ignoreDefaultCCSSettings
Iff 'true' ignores any non-essential default settings made by CCS.
-ccs.overwrite (full | keep)
Forces overwrite of existing file-system resources (optional).
A 'full' overwrite would delete and recreate the entire existing project folder.
A 'keep' overwrite would keep all existing filesystem project contents
(applies only when workspace project does not exist).
-ccs.autoBuild
Performs an incremental build on the imported/created project (optional).
-ccs.kind
The project kind ID (optional).
[Deprecated] - use -ccs.outputType
-ccs.listBuildOptionIDs
Prints a list of all applicable build-option IDs (optional).
Does not actually create the project.
[Deprecated] - use -ccs.listBuildOptions
-ccs.setBuildOption "" [@prepend] [@configurations [ ]*]
Sets the given build-option on the created project (optional).
(use the wildcard '*' to match multiple characters in and enum 's).
Optionally, force the value for any list-type options to be prepended to current value.
Optionally, specify a list of build-configurations in which this option is to be set.
[Deprecated] - use -ccs.setCompilerOptions/-ccs.setLinkerOptions
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
DSP/BIOSv5.x support:
-bios.version
DSP/BIOSv5.x tools version.
RTSC support:
-rtsc.enableRtsc
Enable RTSC support.
-rtsc.xdcVersion
XDCtools version (optional).
Defaults to highest available version, when '-rtsc.enableRtsc' is specified.
-rtsc.target
RTSC target (optional).
Will be auto-set by default.
-rtsc.platform
RTSC platform (optional).
Will be left blank by default.
-rtsc.buildProfile
RTSC build-profile (optional).
Defaults to 'whole_program'.
-rtsc.products "[[:];]+"
List of RTSC products to enable (optional). [Deprecated] - use the '-ccs.products' flag instead.
-rtsc.setConfiguroOptions ""
Space-separated list of options to set on the created project's Configuro tool (optional)
(use backslash '\' to escape all double-quotes in ).
-rtsc.configurationOnly
Generate a reusable RTSC Configuration project (optional).
```
+]]
Note that the available options can vary depending on the CCS version used. For the list of options available for your specific CCS version, run the command with the '-ccs.help' option:
```eclipsec -noSplash -data -application com.ti.ccstudio.apps.projectCreate -ccs.help```
##Examples
- Create a C64xx project 'newProject' at location 'C:\myWorkspace\newProject\', leaving all other arguments at their defaults:
```eclipsec -noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectCreate -ccs.name newProject -ccs.device com.ti.ccstudio.deviceModel.C6000.GenericC64xxDevice```
- Create a project as above, and also set some extra build-options (note the optional use of wildcard ★ in option-IDs):
```eclipsec -noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectCreate -ccs.name newProject -ccs.device com.ti.ccstudio.deviceModel.C6000.GenericC64xxDevice -ccs.setBuildOption com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.QUIET_LEVEL com.ti.ccstudio.buildDefinitions.C6000_6.1.compilerID.QUIET_LEVEL.VERBOSE -ccs.setBuildOption com.ti.ccstudio.buildDefinitions.C6000_*.compilerID.DEFINE "DEBUG" -ccs.setBuildOption com.ti.ccstudio.buildDefinitions.*.compilerID.KEEP_ASM true```
- Create a GCC baremetal project for AM3359:
```eclipsec -noSplash -data "/Users/user/workspace_v6_1" -application com.ti.ccstudio.apps.projectCreate -ccs.name AM3359_GCC -ccs.device "Cortex A.AM3359" -ccs.copyFile "/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3/share/gcc-arm-none-eabi/samples/src/qemu/hello.c" -ccs.endianness little -ccs.kind executable -ccs.cgtVersion "GNU_4.8.4:Linaro" -ccs.cmd "AM335x.lds" -ccs.outputFormat ELF -ccs.setCompilerOptions "-I=${CCS_BASE_ROOT}/arm/include" -ccs.overwrite full```
Notes:
- The option -ccs.cmd "AM335x.lds" is optional if you use the default linker script. It is included here to show how to use it.
- The option -ccs.overwrite full is optional. It re-writes an existing project of the same name in the workspace.
- Always give preference to pass forward slashes as the parameters, as they can be used across host OSes (Windows/Linux).
- Create a GCC SYSBIOS project template for AM4379 (SYSBIOS --> GNU Target Examples --> Typical project):
```eclipsec -noSplash -data "/Users/user/workspace_v6_1" -application com.ti.ccstudio.apps.projectCreate -ccs.name AM4379_SYSBIOS -ccs.device "Cortex A.AM4379" -ccs.endianness little -ccs.kind executable -ccs.cgtVersion "GNU_4.8.4:Linaro" -ccs.cmd "" -ccs.outputFormat ELF -ccs.setCompilerOptions "-I=${CCS_BASE_ROOT}/arm/include -mfloat-abi=hard" -ccs.setLinkerOptions "-nostartfiles -static --gc-sections -lc -lgcc -lm -lnosys -L${BIOS_CG_ROOT}/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu" -rtsc.xdcVersion "3.31.01.33.core" -rtsc.enableDspBios -rtsc.biosVersion "6.41.04.54" -rtsc.buildProfile "release" -rtsc.products "com.ti.rtsc.SYSBIOS:6.41.04.54" -rtsc.target "gnu.targets.arm.A9F" -rtsc.platform "ti.platforms.evmAM437X" -ccs.copyFile "/ti/ccsv6/eclipse/plugins/com.ti.rtsc.SYSBIOS.product.ui_6.41.4.54/resources/generic/typical/default/app.cfg" -ccs.copyFile "/ti/ccsv6/eclipse/plugins/com.ti.rtsc.SYSBIOS.product.ui_6.41.4.54/resources/generic/typical/main.c" -ccs.overwrite full
```
Notes:
- The option -ccs.cmd "" is mandatory for RTSC projects to avoid including the standard linker script AM437x.lds.
- The option -ccs.overwrite full is optional. It re-writes an existing project of the same name in the workspace.
- Always give preference to pass forward slashes as the parameters, as they can be used across host OSes (Windows/Linux).
- The versions of SYSBIOS, RTSC and GCC may have to be changed depending on the components installed.
#Build a CCS Project
Usage:
```eclipsec -noSplash -data "" -application com.ti.ccstudio.apps.projectBuild (-ccs.projects [ ]* | -ccs.workspace) []```
Options:
[[+d Full list of projectBuild options in CCS 11.0 (click to expand/collapse)
```text
-ccs.projects [ ]*
Space-separated list of projects to build.
-ccs.workspace
Build entire workspace.
-ccs.configuration
The build-configuration to build (optional).
Defaults to active build-configuration.
-ccs.buildType (incremental | full | clean)
The type of build to perform (optional).
Defaults to 'incremental'.
-ccs.listErrors
List all errors after build completes (optional).
-ccs.listProblems
List all errors and warnings after build completes (optional).
-ccs.autoOpen
Automatically open any closed projects (optional).
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
```
+]]
Note that the available options can vary depending on the CCS version used. For the list of options available for your specific CCS version, run the command with the '-ccs.help' option:
```eclipsec -noSplash -data -application com.ti.ccstudio.apps.projectBuild -ccs.help```
##Examples
- Clean the active build-configuration of project 'newProject' without building it:
```eclipsec -noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.projects newProject -ccs.clean```
- Rebuild the 'Debug' build-configuration of project 'newProject':
```eclipsec -noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.projects newProject -ccs.configuration Debug```
- Rebuild the active build-configuration of all projects in the workspace:
```eclipsec -noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.workspace```
#Import an Existing CCS Project
Usage:
```eclipsec -noSplash -data "" -application com.ti.ccstudio.apps.projectImport -ccs.location []```
Options:
[[+d Full list of projectImport options in CCS 11.0 (click to expand/collapse)
```text
-ccs.location
Absolute or relative path to the location containing the project.
Relative paths will be assumed to be relative to the working directory.
-ccs.device
The device-variant ID. Applicable only when '-ccs.location' flag resolves to a .projectspec file.
-ccs.definePathVariable [@scope (global|project)]
Defines the given path-variable for resolving portable linked file paths (optional)
(also defines a global build-macro with the same name and value).
Optionally, specify the scope (defaults to 'global').
-ccs.copyIntoWorkspace
Copy project folder and contents into the workspace directory (optional).
Defaults to 'false'.
-ccs.overwrite
Forces overwrite of existing file-system resources (optional).
-ccs.renameTo
Rename the imported project to the specified name.
-ccs.autoBuild
Performs an incremental build on the imported/created project (optional).
-ccs.autoImportReferencedProjects
If 'true', an attempt is made to automatically import any referenced projects found in the same parent directory as the main project.
-ccs.autoRenameReferencedProjects
If 'true', and iff the '-ccs.renameTo' flag is present, any imported referenced projects will also be renamed automatically.
-ccs.referencedProjectSearchDirectory
Directory to search for referenced projects. Applicable only when '-ccs.autoImportReferencedProjects' flag is present.
-ccs.captureCopiedFileOrigins
Capture the original locations of all resources copied into the project during the import. These will be captured into a text file named 'copiedFileOrigins.txt'.
-ccs.captureProjectspecApplicability
Capture the list of devices that the imported projectspec is applicable to. These will be captured into a text file named 'projectSpecApplicability.txt'.
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
```
+]]
Note that the available options can vary depending on the CCS version used. For the list of options available for your specific CCS version, run the command with the '-ccs.help' option:
```eclipsec -noSplash -data -application com.ti.ccstudio.apps.projectImport -ccs.help```
#Working with CCS Linux
On Linux, the command is slightly different. Use "eclipse" instead of "eclipsec", followed by the rest of the command.
```eclipse -noSplash -data -application com.ti.ccstudio.apps.projectCreate -ccs.name -ccs.device [-options]```
#Working with macOS
On macOS, the command is slightly different. Use "ccstudio" instead of "eclipsec", followed by the rest of the command.
```./ccstudio -noSplash -data -application com.ti.ccstudio.apps.projectCreate -ccs.name -ccs.device [-options]```
#Working with CCSv4
For CCSv4, the usage for the commands are different. Use .\jre\bin\java -jar startup.jar instead of eclipsec -noSplash, followed by the rest of the command.
```.\jre\bin\java -jar startup.jar -data -application com.ti.ccstudio.apps.projectCreate -ccs.name -ccs.device [-options]```
Note that the directory for .\jre\bin\java is located in <CCSv4 INSTALL DIRECTORY>\ccsv4\eclipse.
#Working with CCS Theia
Please see [section 6.3 of the CCS Theia User's Guide](https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs_theia/index_command-line.html).
#FAQs
##Is there a command for deleting projects?
Currently there is no specific command for this. However, if you import a project without copying its contents physically into the workspace (i.e. if you don't set -ccs.copyIntoWorkspace to true, then default behaviour is not to copy project into workspace), then you should be able to just delete the workspace directory using standard console commands (such as 'del' in the command prompt) before running next sequence. You can double check whether your project physically resides in the workspace by going to your workspace directory and see if the project directory is listed there or if it just contains a .metadata folder.
##What is the command for importing multiple projects at once?
You can specify more than one project on the command line such as:
```eclipsec -nosplash -data -application com.ti.ccstudio.apps.projectImport -ccs.location "C:/proj1" -ccs.location "C:/proj2"```
##Is there a command line option to specify a path for newly installed version of compiler tools so CCS can detect it?
In CCSv5, there isn't a command line option for this. However if the newly installed version of compiler tools is installed inside the CCS directory (<ccs_install_dir>\ccsv[x]\tools\compiler) it will automatically get discovered and can be used. If it is installed in a different location, you can first manually add the path via the CCS GUI, and then build via command line.
In CCSv6 and higher, there is a command with which a new directory (or directories) can be added to the compiler tool discovery path. The command is:
```eclipsec -nosplash -data -application com.ti.common.core.initialize -ccs.toolDiscoveryPath ";"```
##Is there a command line option to specify a path for a new discoverable software product (C2000Ware, SimpleLink SDK, etc) so CCS can detect it?
```eclipsec -nosplash -data -application com.ti.common.core.initialize -ccs.productDiscoveryPath ";"```
##Is there a command line option to specify a path for a new RTSC software product so CCS can detect it?
```eclipsec -nosplash -data -application com.ti.common.core.initialize -rtsc.productDiscoveryPath ";"```
##Are relative paths supported when using the Project Import command?
Commands with relative paths such as below are not supported. We hope to address this in a future release.
```eclipsec -nosplash -data c:\workspace -application com.ti.ccstudio.apps.projectImport -ccs.location ..\dsp\proj\acm```
##Can the -ccs.linkFile and -ccs.copyFile options use paths relative to a linked resource path variable such as PROJECT_LOC ?
Yes. You can use a linked resource path variable like PROJECT_LOC with the -ccs.linkFile and -ccs.copyFile options. The path can be absolute or relative:
```-ccs.linkFile "PROJECT_LOC\path\to\my\source.c```
```-ccs.linkFile "PROJECT_LOC\..\..\path\to\my\source.c```
##Is there an option to build all available build configurations for a project without specifying the configuration name? Currently it builds the default(active) configuration by default, or a specific build configuration can be specified.
No. As of CCSv8, There is currently no option available to tell it to build all build configurations for a project.
##Is there a way to modify the project options?
No. As of CCSv8, there is no option available that allows you to change project options.
##When creating a project using projectspec file, is it possible to override the version of RTSC products specified in the projectspec using a command line option?
This can be done in CCSv8 and higher using option ```-ccs.products "[[:];]+```.
For example: ```-ccs.products "com.ti.SIMPLELINK_MSP432_SDK:1.60.00.12" ```
#Full API Guide
The lists below are applicable for CCSv11.0. For any other version, please check the options applicable to that version by running the command with the -ccs.help option.
Click on the boxes below to expand/collapse the list.
##List of available applications
The list of applications below contains both CCS (supported) and Eclipse open source (unsupported) ids. Eclipse runtime options and applications can be found around the web.
[[+d Supported application ids
```text
com.ti.ccstudio.apps.projectCreate
com.ti.ccstudio.apps.projectCreate_stdMake
com.ti.ccstudio.apps.projectBuild
com.ti.ccstudio.apps.projectImport
com.ti.ccstudio.apps.legacyProjectImport
com.ti.ccstudio.apps.inspect
com.ti.ccstudio.apps.createTargetConfiguration
com.ti.ccstudio.apps.runScript
com.ti.ccstudio.apps.templatesToProjectSpecs
```
+]]
[[+d Unsupported and Eclipse application ids
```text
org.eclipse.ant.core.antRunner
org.eclipse.cdt.codan.core.application
org.eclipse.cdt.core.GeneratePDOM
org.eclipse.cdt.managedbuilder.core.headlessbuild
org.eclipse.e4.ui.workbench.swt.E4Application
org.eclipse.e4.ui.workbench.swt.GenTopic
org.eclipse.equinox.app.error
org.eclipse.equinox.p2.director
org.eclipse.equinox.p2.garbagecollector.application
org.eclipse.equinox.p2.publisher.InstallPublisher
org.eclipse.equinox.p2.publisher.EclipseGenerator
org.eclipse.equinox.p2.publisher.ProductPublisher
org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher
org.eclipse.equinox.p2.reconciler.application
org.eclipse.equinox.p2.repository.repo2runnable
org.eclipse.equinox.p2.repository.metadataverifier
org.eclipse.equinox.p2.artifact.repository.mirrorApplication
org.eclipse.equinox.p2.metadata.repository.mirrorApplication
org.eclipse.equinox.p2.updatesite.UpdateSitePublisher
org.eclipse.equinox.p2.publisher.UpdateSitePublisher
org.eclipse.equinox.p2.publisher.CategoryPublisher
org.eclipse.help.base.infocenterApplication
org.eclipse.help.base.helpApplication
org.eclipse.help.base.indexTool
org.eclipse.ui.ide.workbench
com.ti.ccstudio.p2app
com.ti.ccscloud.server.start
com.ti.ccstudio.app.center.p2.resolveIU
com.ti.ccstudio.apps.initialize
org.eclipse.rtsc.xdctools.buildDefinitions.buildProjectSpec
com.ti.ccstudio.ui.workbench
com.ti.common.core.initialize
com.ti.dvt.rcp.application
org.eclipse.cdt.debug.application.app
```
+]]
##com.ti.ccstudio.apps.projectCreate
[[+d List of available options for projectCreate (as of CCS 11.0)
```text
Usage:
eclipsec -noSplash -data ""
-application com.ti.ccstudio.apps.createProject
(-ccs.projectSpec | -ccs.name -ccs.device ) []
where options include:
-ccs.projectSpec ""
The project-spec defining the project(s) to be created.
See the /ccs/eclipse/plugins/com.ti.ccstudio.project.templates/schema/projectSpec.xsd file for details.
-ccs.name
The name of the new project.
-ccs.location ""
The filesystem location of the project, if it is
to be created outside of workspace (optional).
-ccs.outputType (executable | staticLibrary)
The output-type (optional).
Defaults to 'executable'.
-ccs.device
The device-variant ID.
A list of all available device-variant IDs will be
printed if this argument is missing or not recognized.
-ccs.endianness
The device endianness (optional).
Defaults to device-specific setting, if defined.
A list of all applicable endianness types will be
printed if this argument is not recognized.
-ccs.toolChain (TI | TICLANG | GNU)
Compiler tool-chain (optional).
Defaults to 'TI'.
-ccs.toolVersion
Compiler version (optional).
Defaults to highest applicable version.
-ccs.outputFormat (COFF | ELF)
The output-format (optional).
Defaults to device-specific setting, if defined, or 'COFF'.
-ccs.products "[[:];]+"
List of products to enable (optional).
-ccs.cmd ""
Linker command file to be physically copied into the project (optional).
Defaults to device-specific setting, if defined.
-ccs.rts ""
Runtime support library (optional).
Defaults to device-specific setting, if defined.
-ccs.configurations [ ]*
Space-separated list of build-configurations to create (optional).
Defaults to 'Debug Release'.
-ccs.defaultConfiguration
Name of one build-configuration which would be made active each time this project is imported into workspace.
-ccs.references [ ]*
Space-separated list of project-references to add to created project (optional).
-ccs.artifactName
Name of the build-artifact (optional).
Defaults to the name of the project.
-ccs.artifactExtension
Extension of the build-artifact (optional).
Defaults to 'out' or 'lib', depending on '-ccs.outputType'.
-ccs.listBuildOptions
Prints a list of all applicable build-options (optional).
Does not actually create the project.
-ccs.setCompilerOptions "" [@prepend] [@files ["" ]+] [@folders ["" ]+] [@configurations [ ]+]
Space-separated list of build-options to set on the created project's compiler tool (optional)
(use backslash '\' to escape all double-quotes in ).
Optionally, force the value for any list-type options to be prepended to current value.
Optionally, specify lists of files/folders (project-relative paths) to set these options on.
Optionally, specify a list of build-configurations in which these options are to be set.
-ccs.setLinkerOptions "" [@prepend] [@configurations [ ]+]
Similar to -ccs.setCompilerOptions
-ccs.setHexOptions "" [@prepend] [@configurations [ ]+]
Similar to -ccs.setCompilerOptions. Hex tool needs to be separately enabled using -ccs.enableHexTool.
-ccs.setSysConfigOptions "" [@prepend] [@configurations [ ]+]
Similar to -ccs.setCompilerOptions. SysConfig tool needs to be separately enabled using -ccs.enableSysConfigTool.
-ccs.enableHexTool
Enable the Hex tool with its default build-options (optional).
Defaults to 'false'.
-ccs.enableSysConfigTool
Enable the SysConfig tool with its default build-options (optional).
Defaults to 'false'.
-ccs.setPreBuildStep "" [@configurations [ ]+]
Command to be used as a pre-build step (optional)
(use backslash '\' to escape all double-quotes in ).
Optionally, specify a list of build-configurations in which this build-step is to be set.
-ccs.setPostBuildStep "" [@configurations [ ]+]
Command to be used as a post-build step (optional)
(use backslash '\' to escape all double-quotes in ).
Optionally, specify a list of build-configurations in which this build-step is to be set.
-ccs.copyFile "" [@dir ""] [@configurations [ ]+]
Copies the given file/directory into the project upon creation (optional).
Optionally, specify a project-relative directory as the file's destination.
Optionally, specify a list of build-configurations in which this file is to be used.
-ccs.linkFile "" [@dir "" [@virtual]] [@configurations [ ]+]
Links the given file/directory into the project upon creation (optional).
Optionally, specify a project-relative directory as the file's destination.
Optionally, specify whether the destination directory should be created as virtual.
Optionally, specify a list of build-configurations in which this file is to be used.
-ccs.definePathVariable [@scope (global|project)]
Defines the given path-variable for resolving portable linked file paths (optional)
(also defines a global build-macro with the same name and value).
Optionally, specify the scope (defaults to 'global').
-ccs.defineBuildVariable [@type (string|dir|file)] [@scope (global|project|configuration)] [@configurations [ ]+]
Defines the given build-variable (optional).
Optionally, specify the type (defaults to 'string').
Optionally, specify the scope (defaults to 'global').
Optionally, specify a list of build-configurations in which this build-variable is to be defined
(applies only when scope is 'configuration').
-ccs.autoGenerateMakefiles (true|false)
Turns automatic makefile-generation on/off (optional).
Defaults to 'true'.
-ccs.buildLocation ""
Absolute or project-relative path to folder to be used as the build-directory (optional).
Applies only when the '-ccs.autoGenerateMakefiles' flag is set to 'false'.
Defaults to project root-directory.
-ccs.buildCommand ""
Absolute path to an alternative build utility (optional).
Defaults to the gmake utility that is shipped with CCS.
-ccs.buildCommandFlags ""
List of flags to override the default build-command flags (optional).
-ccs.buildTarget
Name of the target to run during an incremental build (optional).
Defaults to 'all'.
-ccs.cleanTarget
Name of the target to run during a clean build (optional).
Defaults to 'clean'.
-ccs.template
ID of the project-template to use when generating the new project (optional).
A list of all applicable template IDs will be
printed if this argument is not recognized.
-ccs.ignoreDefaultDeviceSettings
Iff 'true' ignores any default settings specified by the selected device.
-ccs.ignoreDefaultCCSSettings
Iff 'true' ignores any non-essential default settings made by CCS.
-ccs.overwrite (full | keep)
Forces overwrite of existing file-system resources (optional).
A 'full' overwrite would delete and recreate the entire existing project folder.
A 'keep' overwrite would keep all existing filesystem project contents
(applies only when workspace project does not exist).
-ccs.autoBuild
Performs an incremental build on the imported/created project (optional).
-ccs.kind
The project kind ID (optional).
[Deprecated] - use -ccs.outputType
-ccs.listBuildOptionIDs
Prints a list of all applicable build-option IDs (optional).
Does not actually create the project.
[Deprecated] - use -ccs.listBuildOptions
-ccs.setBuildOption "" [@prepend] [@configurations [ ]*]
Sets the given build-option on the created project (optional).
(use the wildcard '*' to match multiple characters in and enum 's).
Optionally, force the value for any list-type options to be prepended to current value.
Optionally, specify a list of build-configurations in which this option is to be set.
[Deprecated] - use -ccs.setCompilerOptions/-ccs.setLinkerOptions
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
DSP/BIOSv5.x support:
-bios.version
DSP/BIOSv5.x tools version.
RTSC support:
-rtsc.enableRtsc
Enable RTSC support.
-rtsc.xdcVersion
XDCtools version (optional).
Defaults to highest available version, when '-rtsc.enableRtsc' is specified.
-rtsc.target
RTSC target (optional).
Will be auto-set by default.
-rtsc.platform
RTSC platform (optional).
Will be left blank by default.
-rtsc.buildProfile
RTSC build-profile (optional).
Defaults to 'whole_program'.
-rtsc.products "[[:];]+"
List of RTSC products to enable (optional). [Deprecated] - use the '-ccs.products' flag instead.
-rtsc.setConfiguroOptions ""
Space-separated list of options to set on the created project's Configuro tool (optional)
(use backslash '\' to escape all double-quotes in ).
-rtsc.configurationOnly
Generate a reusable RTSC Configuration project (optional).
```
+]]
##com.ti.ccstudio.apps.projectCreate_stdMake
[[+d List of available options for projectCreate_stdMake (as per CCS 11.0)
```text
NOTE! The 'projectCreate_stdMake' command is deprecated. To create a manual-makefile project,
please use the 'projectCreate' command with its '-ccs.autoGenerateMakefiles' flag set to 'false'.
Usage:
eclipsec -noSplash -data ""
-application com.ti.ccstudio.apps.createProject_stdMake
-ccs.name []
where options include:
-ccs.name
The name of the new project.
-ccs.location
The filesystem location of the project, if it is
to be created outside of workspace (optional).
-ccs.buildLocation
Absolute or project-relative path to folder to be used as the build-directory (optional).
Defaults to project root-directory.
-ccs.buildCommand
Absolute path to an alternative build utility (optional).
Defaults to the gmake utility that is shipped with CCS.
-ccs.buildCommandFlags ""
List of flags to override the default build-command flags (optional).
-ccs.makefileName
Name of the makefile, if other than the gmake default 'makefile' (optional).
Only used when the build-flags are not overridden.
-ccs.buildTarget
Name of the target to run during an incremental build (optional).
Defaults to 'all'.
-ccs.cleanTarget
Name of the target to run during a clean build (optional).
Defaults to 'clean'.
-ccs.references [ ]*
Space-separated list of project-references to add to created project (optional).
-ccs.copyFile [@dir ]
Copies the given file/directory into the project upon creation (optional).
Optionally, specify a project-relative directory as the file's destination.
-ccs.linkFile [@dir ]
Links the given file/directory into the project upon creation (optional).
Optionally, specify a project-relative directory as the file's destination.
-ccs.definePathVariable [@scope (global|project)]
Defines the given path-variable for resolving portable linked file paths (optional).
Optionally, specify the scope (defaults to 'global').
-ccs.overwrite (full | keep)
Forces overwrite of existing file-system resources (optional).
A 'full' overwrite would delete and recreate the entire existing project folder.
A 'keep' overwrite would keep all existing filesystem project contents
(applies only when workspace project does not exist).
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
```
+]]
##com.ti.ccstudio.apps.projectBuild
[[+d List of available options for projectBuild (as of CCS 11.0)
```text
Usage:
eclipsec -noSplash -data ""
-application com.ti.ccstudio.apps.buildProject
(-ccs.projects [ ]* | -ccs.workspace) []
where options include:
-ccs.projects [ ]*
Space-separated list of projects to build.
-ccs.workspace
Build entire workspace.
-ccs.configuration
The build-configuration to build (optional).
Defaults to active build-configuration.
-ccs.buildType (incremental | full | clean)
The type of build to perform (optional).
Defaults to 'incremental'.
-ccs.listErrors
List all errors after build completes (optional).
-ccs.listProblems
List all errors and warnings after build completes (optional).
-ccs.autoOpen
Automatically open any closed projects (optional).
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
```
+]]
##com.ti.ccstudio.apps.projectImport
[[+d List of available options for projectImport (as of CCS 11.0)
```text
Usage:
eclipsec -noSplash -data ""
-application com.ti.ccstudio.apps.importProject
-ccs.location []
where options include:
-ccs.location
Absolute or relative path to the location containing the project.
Relative paths will be assumed to be relative to the working directory.
-ccs.device
The device-variant ID. Applicable only when '-ccs.location' flag resolves to a .projectspec file.
-ccs.definePathVariable [@scope (global|project)]
Defines the given path-variable for resolving portable linked file paths (optional)
(also defines a global build-macro with the same name and value).
Optionally, specify the scope (defaults to 'global').
-ccs.copyIntoWorkspace
Copy project folder and contents into the workspace directory (optional).
Defaults to 'false'.
-ccs.overwrite
Forces overwrite of existing file-system resources (optional).
-ccs.renameTo
Rename the imported project to the specified name.
-ccs.autoBuild
Performs an incremental build on the imported/created project (optional).
-ccs.autoImportReferencedProjects
If 'true', an attempt is made to automatically import any referenced projects found in the same parent directory as the main project.
-ccs.autoRenameReferencedProjects
If 'true', and iff the '-ccs.renameTo' flag is present, any imported referenced projects will also be renamed automatically.
-ccs.referencedProjectSearchDirectory
Directory to search for referenced projects. Applicable only when '-ccs.autoImportReferencedProjects' flag is present.
-ccs.captureCopiedFileOrigins
Capture the original locations of all resources copied into the project during the import. These will be captured into a text file named 'copiedFileOrigins.txt'.
-ccs.captureProjectspecApplicability
Capture the list of devices that the imported projectspec is applicable to. These will be captured into a text file named 'projectSpecApplicability.txt'.
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
```
+]]
##com.ti.ccstudio.apps.legacyProjectImport
[[+d List of available options for legacyProjectImport (as per CCS 11.0)
```text
Usage:
eclipsec -noSplash -data ""
-application com.ti.ccstudio.apps.importProject_legacy
-ccs.pjtFile []
where options include:
-ccs.pjtFile
Absolute path to the PJT file of the legacy project.
-ccs.commonRoot
Define a common root for resolving files, external to
project, in a consistent and portable way (optional).
-ccs.definePathVariable [@scope (global|project)]
Defines the given path-variable for resolving portable linked file paths (optional)
(also defines a global build-macro with the same name and value).
Optionally, specify the scope (defaults to 'global').
-ccs.copyIntoWorkspace
Copy project folder and contents into the workspace directory (optional).
Defaults to 'false'.
-ccs.createSubdirectory
If '-ccs.copyIntoWorkspace' is not specified, this flag would
create a subfolder for each Eclipse project at the original location
of the PJT file (optional).
Defaults to false.
-ccs.overwrite
Forces overwrite of existing file-system resources (optional).
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
```
+]]
##com.ti.ccstudio.apps.inspect
[[+d List of available options for inspect (as per CCS 11.0)
```text
Usage:
eclipsec -noSplash -data ""
-application com.ti.ccstudio.apps.inspect
(-ccs.product | -ccs.preferences |
-ccs.devices
[-ccs.devices:groupBy:family
-ccs.devices:filterBy:family ""
-ccs.devices:filterBy:variant ""
-ccs.devices:filterBy:id ""
-ccs.devices:showBasicDetails] |
-ccs.deviceDetails "" |
-ccs.projects ["" ]+
[-ccs.projects:listErrors] |
[-ccs.projects:listProblems] |
[-ccs.projects:listVariables] |
[-ccs.projects:showBuildOptions] |
-ccs.projects:externalResources ["" ]* |
-ccs.projects:externalResources:noDirs ["" ]* |
-ccs.projects:externalResources:noSourceDependencies ["" ]* |
-ccs.projects:projectSpecApplicability ["" ]*)
[-ccs.format:json]
where options include:
-ccs.product
Inspect the CCS product.
-ccs.preferences
Inspect the global preferences.
-ccs.devices
Inspect the listing of supported devices.
-ccs.devices:groupBy:family
Group the device list by device-family [optional].
-ccs.devices:filterBy:family ""
Filter the device list by device-family [optional].
Valid arguments: [ARM, C2000, C5400, C5500, C6000, C7000, MSP430, MSP432, EVE, ARP32, IVAHD, PRU, CLA, UNKNOWN].
-ccs.devices:filterBy:variant ""
Filter the device list by device-variant [optional].
Valid arguments: [ARM7, ARM9, ARM11, CortexA5, CortexA7, CortexA8, CortexA9, CortexA12, CortexA15, CortexA17, CortexA32, CortexA35, CortexA53, CortexA57, CortexA72, CortexA73, CortexM0, CortexM3, CortexM4, CortexM33, CortexR4, CortexR5, C27XX, C28XX, C54XX, C55XX, C55X+, C62XX, C64XX, C64X+, C66XX, C67XX, C67X+, C674X, C71XX, MSP430, MSP432, EVE, ARP32, IVAHD, PRU, CLA, Custom, UNKNOWN].
-ccs.devices:filterBy:id ""
Filter the device list by device-ID [optional]. Expects Java reg-exp as argument.
-ccs.format:json
Output results in JSON format [optional]. Defaults to XML.
-ccs.devices:showBasicDetails
Output some basic details for each device [optional].
-ccs.deviceDetails ""
Inspect device details.
-ccs.projects ["" ]+
Space-separated list of projects to inspect.
-ccs.projects:listErrors
List all errors for each project.
-ccs.projects:listProblems
List all errors and warnings for each project.
-ccs.projects:listVariables
List all build/path variables for each project.
-ccs.projects:showBuildOptions
Show a hierarchical view of the set build-flags [optional].
-ccs.projects:externalResources ["" ]*
Same as '-ccs.projects', but only show each project's external resource dependencies.
-ccs.projects:externalResources:noDirs ["" ]*
Same as '-ccs.projects:externalResources', but omit any external directory dependencies (lists only files).
-ccs.projects:externalResources:noSourceDependencies ["" ]*
Same as '-ccs.projects:externalResources', but omit any source-level dependencies (avoids compiling all source files).
-ccs.projects:projectSpecApplicability ["" ]*
Same as '-ccs.projects', but only show each project's original projectspec applicability.
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
```
+]]
##com.ti.ccstudio.apps.createTargetConfiguration
[[+d List of available options for createTargetConfiguration (as of CCS 11.0)
```text
Usage:
eclipsec -noSplash -data ""
-application com.ti.ccstudio.apps.createTargetConfiguration
-ccs.device [-ccs.connection -ccs.saveAs]
where options include:
-ccs.device ""
Device. Expects the device XML-file name, or a Java reg-exp to match device's name, ID, or XML-file name.
-ccs.connection ""
Connection [optional]. Expects the connection XML-file name, or a Java reg-exp to match connection's name, or XML-file name.
-ccs.saveAs ""
Destination file name or path [optional]. If omitted, picks default name and creates file in the working directory.
-ccs.args
File containing any extra arguments (optional).
-ccs.help
Print this help message.
```
+]]
##com.ti.ccstudio.apps.runScript
[[+d List of available options for runScript (as per CCS 11.0)
```text
Usage:
eclipsec -noSplash -data ""
-application com.ti.ccstudio.apps.runScript
[]
where options include:
-ccs.script