Code Composer Studio提供了几个命令行工具,用户可以使用这些工具创建工程,编译工程,导入工程文件到本地工作空间。使用这些工具,用户可以在不启动CCS图形界面的情况下对工程进行操作,简化工程文件的版本维护,方便自动化测试等。
创建工程的格式:
eclipsec –noSplash -data <workspace_path> -application com.ti.ccstudio.apps.projectCreate -ccs.name -ccs.device [-options]
编译工程的格式:
eclipsec –noSplash -data <workspace_path> -application com.ti.ccstudio.apps.projectBuild (-ccs.projects | -ccs.workspace) [-options]
如果需要获得帮助信息:
eclipsec –noSplash -data <workspace_path> -application com.ti.ccstudio.apps.projectBuild -ccs.help
清理工程:
eclipsec –noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.projects newProject -ccs.clean
重新编译工程:
eclipsec –noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.projects newProject -ccs.configuration Debug
重新编译某个工作空间的所有活动工程:
eclipsec –noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.workspace
导入工程:
eclipsec –noSplash -data <workspace_path> -application com.ti.ccstudio.apps.projectImport -ccs.location [-options]
参数解释:
-noSplash 设置eclipse启动时不启动splash window
-data “workspace” 是用户指定的工作空间的路径
-application 指定使用的工具应用。工程创建使用com.ti.ccstudio.apps.projectCreate,编译工程使用com.ti.ccstudio.apps.projectBuild,导入工程使用com.ti.ccstudio.apps.projectImport。
三个工具应用有一些公用命令参数和各自的参数,帮助信息可以通过参数-ccs.help得到。option中的参数都可以通过-ccs.args <file>通过加载文件的方式来载入。
-ccs.name <name> 创建的工程名
-ccs.location <dir> 创建工程的路径,如果工程不是在workspace中创立
-ccs.outputType (executable | staticLibrary) 编译目的是库还是执行文件,缺省配置是执行文件
-ccs.device <id> 工程对应的芯片ID,例如C66x是com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice。如果提供的ID不正确,eclipse会打印出所安装软件支持的芯片ID。
-ccs.endianness <name> (big | little) 工程的大小端配置
-ccs.cgtVersion <version> 使用的编译器版本,默认是最新版本。所使用的工具版本必须在ccstudio可以搜索的范围内。如果工具都是正常安装,应该不会有什么问题。
-ccs.outputFormat (COFF | ELF) 输出的格式,COFF或者是ELF
-ccs.cmd <file> 指定工程使用的linker cmd文件
-ccs.rts <file> 指定runtime library的设置
-ccs.configurations <name1>[ <name2>]* 可以在工程中设置不同的配置选项,例如debug或者是release
-ccs.references <name1>[ <name2>]* 可设置工程相关定义
-ccs.artifactName <name> 指定编译输出的文件名称(optional)
-ccs.artifactExtension <ext> 指定编译输出文件的扩展名(optional)
-ccs.listBuildOptions 打印支持的buildOptions,这些option可以通过后面的setCompilerOptions,setLinkOptions,setAssemblerOptions来配置。应该包括了所有cl6x支持的编译选项
-ccs.setCompilerOptions "<options>" [@prepend] [@configurations <name1>[ <name2>]*]
-ccs.setLinkerOptions "<options>" [@prepend] [@configurations <name1>[ <name2>]*]
设置编译,链接选项。选项用双引号括起来,如果options里包含双引号,在双引号前加\。@prepend可以让包含的选项在排在已有选项的前面。@configurations可以对于不同的前面定义的configurations设置不同的编译选项。下面的例子中Release configuration中不包含调试信息,使用o3优化,Debug configuration编译选项包含调试信息,使用o0优化选项。
-ccs.setPreBuildStep "<command>" [@configurations <name1>[ <name2>]*]
-ccs.setPostBuildStep "<command>" [@configurations <name1>[ <name2>]*]
设置编译预/后处理,根据不同的configuration可以有不同的预/后处理步骤。
-ccs.copyFile <file> [@dir <dir>] [@configurations [<name> ]*]
把指定的文件拷贝到工作空间中。不同的配置可以拷贝不同的文件。可以通过@dir来指定拷贝文件的目的目录地址。
-ccs.linkFile <file> [@dir <dir>] [@configurations [<name> ]*]
命令格式和copyFile一致,但是不直接拷贝文件,只是把文件链接到工程文件中
-ccs.definePathVariable <name> <value> [@scope (global|project)]
用来定义工程或者是全局的路径变量。可以自定义路径变量,但不能是已有的缺省变量,例如CG_TOOLS_DIR。
-ccs.defineBuildVariable <name> <value> [@type (string|dir|file)] [@scope (global|project|configuration)] [@configurations [<name> ]*]
定义编译变量
-ccs.autoGenerateMakefiles (true|false)
是否生成make文件。缺省是true
-ccs.buildLocation <path>
指定编译路径,只有在autoGenerateMakefiles是false时有效。
-ccs.buildCommand <path>
设置编译命令路径,缺省使用CCS提供的gmake工具。
-ccs.buildCommandFlags "<flags>"
设置编译命令的flag,例如gmake -k -j等,可以用来使能多核编译,或者分布式编译。
-ccs.buildTarget <name>
设置编译目标名
-ccs.cleanTarget <name>
设置make clean的目标名
-ccs.overwrite (full | keep)
如果工作空间已经有一个同名的工程文件,是否保留该工程。是有full,则覆盖已有的工程文件
DSP/BIOSv5.x support:
-rtsc.biosVersion <version> 设置使用的BIOS版本。
RTSC support:
-rtsc.enableRtsc 使能RTSC
-rtsc.xdcVersion <version> 设置xdc版本。缺省使用最新的版本。
-rtsc.target <id> 设置RTSC目标名
-rtsc.platform <id> 设置RTSC使用的平台名。
-rtsc.buildProfile <profile> 使用的RTSC配置文件
-rtsc.configurationOnly 只生成一个RTSC配置工程
参考地址:
http://processors.wiki.ti.com/index.php/Projects_-_Command_Line_Build/Create
http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/10178.aspx
创建工程的格式:
eclipsec –noSplash -data <workspace_path> -application com.ti.ccstudio.apps.projectCreate -ccs.name -ccs.device [-options]
编译工程的格式:
eclipsec –noSplash -data <workspace_path> -application com.ti.ccstudio.apps.projectBuild (-ccs.projects | -ccs.workspace) [-options]
如果需要获得帮助信息:
eclipsec –noSplash -data <workspace_path> -application com.ti.ccstudio.apps.projectBuild -ccs.help
清理工程:
eclipsec –noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.projects newProject -ccs.clean
重新编译工程:
eclipsec –noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.projects newProject -ccs.configuration Debug
重新编译某个工作空间的所有活动工程:
eclipsec –noSplash -data "C:\myWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.workspace
导入工程:
eclipsec –noSplash -data <workspace_path> -application com.ti.ccstudio.apps.projectImport -ccs.location [-options]
参数解释:
-noSplash 设置eclipse启动时不启动splash window
-data “workspace” 是用户指定的工作空间的路径
-application 指定使用的工具应用。工程创建使用com.ti.ccstudio.apps.projectCreate,编译工程使用com.ti.ccstudio.apps.projectBuild,导入工程使用com.ti.ccstudio.apps.projectImport。
三个工具应用有一些公用命令参数和各自的参数,帮助信息可以通过参数-ccs.help得到。option中的参数都可以通过-ccs.args <file>通过加载文件的方式来载入。
-ccs.name <name> 创建的工程名
-ccs.location <dir> 创建工程的路径,如果工程不是在workspace中创立
-ccs.outputType (executable | staticLibrary) 编译目的是库还是执行文件,缺省配置是执行文件
-ccs.device <id> 工程对应的芯片ID,例如C66x是com.ti.ccstudio.deviceModel.C6000.GenericC66xxDevice。如果提供的ID不正确,eclipse会打印出所安装软件支持的芯片ID。
-ccs.endianness <name> (big | little) 工程的大小端配置
-ccs.cgtVersion <version> 使用的编译器版本,默认是最新版本。所使用的工具版本必须在ccstudio可以搜索的范围内。如果工具都是正常安装,应该不会有什么问题。
-ccs.outputFormat (COFF | ELF) 输出的格式,COFF或者是ELF
-ccs.cmd <file> 指定工程使用的linker cmd文件
-ccs.rts <file> 指定runtime library的设置
-ccs.configurations <name1>[ <name2>]* 可以在工程中设置不同的配置选项,例如debug或者是release
-ccs.references <name1>[ <name2>]* 可设置工程相关定义
-ccs.artifactName <name> 指定编译输出的文件名称(optional)
-ccs.artifactExtension <ext> 指定编译输出文件的扩展名(optional)
-ccs.listBuildOptions 打印支持的buildOptions,这些option可以通过后面的setCompilerOptions,setLinkOptions,setAssemblerOptions来配置。应该包括了所有cl6x支持的编译选项
-ccs.setCompilerOptions "<options>" [@prepend] [@configurations <name1>[ <name2>]*]
-ccs.setLinkerOptions "<options>" [@prepend] [@configurations <name1>[ <name2>]*]
设置编译,链接选项。选项用双引号括起来,如果options里包含双引号,在双引号前加\。@prepend可以让包含的选项在排在已有选项的前面。@configurations可以对于不同的前面定义的configurations设置不同的编译选项。下面的例子中Release configuration中不包含调试信息,使用o3优化,Debug configuration编译选项包含调试信息,使用o0优化选项。
-ccs.setPreBuildStep "<command>" [@configurations <name1>[ <name2>]*]
-ccs.setPostBuildStep "<command>" [@configurations <name1>[ <name2>]*]
设置编译预/后处理,根据不同的configuration可以有不同的预/后处理步骤。
-ccs.copyFile <file> [@dir <dir>] [@configurations [<name> ]*]
把指定的文件拷贝到工作空间中。不同的配置可以拷贝不同的文件。可以通过@dir来指定拷贝文件的目的目录地址。
-ccs.linkFile <file> [@dir <dir>] [@configurations [<name> ]*]
命令格式和copyFile一致,但是不直接拷贝文件,只是把文件链接到工程文件中
-ccs.definePathVariable <name> <value> [@scope (global|project)]
用来定义工程或者是全局的路径变量。可以自定义路径变量,但不能是已有的缺省变量,例如CG_TOOLS_DIR。
-ccs.defineBuildVariable <name> <value> [@type (string|dir|file)] [@scope (global|project|configuration)] [@configurations [<name> ]*]
定义编译变量
-ccs.autoGenerateMakefiles (true|false)
是否生成make文件。缺省是true
-ccs.buildLocation <path>
指定编译路径,只有在autoGenerateMakefiles是false时有效。
-ccs.buildCommand <path>
设置编译命令路径,缺省使用CCS提供的gmake工具。
-ccs.buildCommandFlags "<flags>"
设置编译命令的flag,例如gmake -k -j等,可以用来使能多核编译,或者分布式编译。
-ccs.buildTarget <name>
设置编译目标名
-ccs.cleanTarget <name>
设置make clean的目标名
-ccs.overwrite (full | keep)
如果工作空间已经有一个同名的工程文件,是否保留该工程。是有full,则覆盖已有的工程文件
DSP/BIOSv5.x support:
-rtsc.biosVersion <version> 设置使用的BIOS版本。
RTSC support:
-rtsc.enableRtsc 使能RTSC
-rtsc.xdcVersion <version> 设置xdc版本。缺省使用最新的版本。
-rtsc.target <id> 设置RTSC目标名
-rtsc.platform <id> 设置RTSC使用的平台名。
-rtsc.buildProfile <profile> 使用的RTSC配置文件
-rtsc.configurationOnly 只生成一个RTSC配置工程
参考地址:
http://processors.wiki.ti.com/index.php/Projects_-_Command_Line_Build/Create
http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/10178.aspx