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.

CCSTUDIO: CCS: Command Line output Disassembly View

Part Number: CCSTUDIO

Tool/software:

Hello TI,

the Page https://software-dl.ti.com/ccs/esd/documents/ccs_projects-command-line.html is a good summary how to interact with CCS on command line. Now i search for the command to create the disassembly view from my builded project hex file. How can i do that?

Thanks.

BR,

Andreas

  • Dear Andreas,

    not clear to me what you are looking for... Do you need a graphical view of the disassembly or files with the listing? In second case any options generated using CCS GUI can be transferred to make file options I assume. Also this should be documented in any compiler/assembler tools manuals.

    Regards, Frank

  • I need the content from the graphical view as file. Therefore i need the command to create this assembly listing in a headless environment. I have no GUI. Everything is done on a command line.

  • so this is then just to use the right options during the build process to keep the assembly files. Not related to CCS GUI at all. Or you use a disassembler tool as mentioned in the linked thread. The build tool chain is a set of command line tools anyway. CCS is just the umbrella to use with GUI.

  • thanks for your comments. How is the belonging command, or where i can find it?

  • I assume this depends on the target and the build tools you are using. Don't see this mentioned above. As CCS supports multiple platforms I do have a whole list of compilers installed in my installation. One example:

    c:\ti\ccstheia140\ccs\tools\compiler\ti-cgt-armllvm_4.0.0.LTS\

    This has a README that leads to online docs such as:

    Clang command line argument reference — Clang 20.0.0git documentation

    If you have a different target follow similar links or let us know.

    Regards, Frank

  • We use the TI Compiler:

    Configuration: Release
    Compiler:
    specified version: TI v21.6.1.LTS
    effective version: TI v21.6.1.LTS [/opt/ti/ccs/ccs/tools/compiler/ti-cgt-msp430_21.6.1.LTS]

  • Do you have the Command Reference or the command to generate the Disassembly for the TI Compiler?

  • of course...

    https://www.ti.com/lit/pdf/SLAU132Y  Compiler Guide

    MSP430 Assembly Language Tools v21.6.0.LTS User's Guide (Rev. Y) 

    I would start with chapter 4.11 in second guide. --asm_listing option should be a good start.

    Regards, Frank

  • Thanks for the manual. Is there a way to add "--asm_listing" to the command:

    "- eclipse -data /tmp/ccswork -noSplash -application com.ti.ccstudio.apps.projectBuild -ccs.configuration Release -ccs.listProblems -ccs.buildType full -ccs.projects ${CI_PROJECT_NAME}"

    Thanks.

  • I don't know that. I would just change the base info (project or make files) that CCS is using here. A CCS expert should know what files that are. Or you look at the build log to figure this out.

  • Would you kindly ask an CCS expert on TI site. Thanks.

  • One additional hint, we have many projects, and switching on in CCS project config for every single project would be a mess. We adjusting at the moment an streamlined build process.

  • The project modifcation is possible via the application "com.ti.ccstudio.apps.modifyProject" possible:

    -----------------------

    Usage:
    eclipse -noSplash -data "<workspace_dir>"
    -application com.ti.ccstudio.apps.modifyProject
    -ccs.project <name> [<options>]

    where options include:
    -ccs.project <name>
    The project to modify.

    -ccs.configuration <name>
    The build-configuration to modify (optional).
    Defaults to all build-configurations.

    -ccs.device <id>
    The new device-variant ID.
    A list of all available device-variant IDs will be printed if this argument is not recognized.

    -ccs.endianness <name>
    The new device endianness (optional).
    A list of all applicable endianness types will be printed if this argument is not recognized.

    -ccs.toolChain (TI | TICLANG | GNU)
    The new compiler tool-chain (optional).

    -ccs.toolVersion <version>
    The new compiler version (optional).

    -ccs.outputFormat (COFF | ELF)
    The new output-format (optional).

    -ccs.products "[<id>[:<version>];]+"
    The new list of products to enable (optional).

    -ccs.cmd "<file>"
    The new linker command file to be physically copied into the project (optional).

    -ccs.rts "<file>"
    The new runtime support library (optional).

    -ccs.setCompilerOptions "<options>" [@prepend] [@files ["<path>" ]+] [@folders ["<path>" ]+] [@configurations [<name> ]+]
    Space-separated list of build-options to set on the project's compiler tool (optional)
    (use backslash '\' to escape all double-quotes in <options>).
    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 "<options>" [@prepend] [@configurations [<name> ]+]
    Similar to -ccs.setCompilerOptions

    -ccs.setHexOptions "<options>" [@prepend] [@configurations [<name> ]+]
    Similar to -ccs.setCompilerOptions.

    -ccs.setObjcopyOptions "<options>" [@prepend] [@configurations [<name> ]+]
    Similar to -ccs.setCompilerOptions.

    -ccs.setSysConfigOptions "<options>" [@prepend] [@configurations [<name> ]+]
    Similar to -ccs.setCompilerOptions.

    -ccs.args <file>
    File containing any extra arguments (optional).

    -ccs.help
    Print this help message.

    -----------------------

  • The related config is in the file ".cproject":

    <option id="com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ASM_LISTING.1416214092" name="Generate listing file (--asm_listing, -al)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ASM_LISTING" value="false" valueType="boolean"/>
    <option id="com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ASM_LISTING.1416214092" name="Generate listing file (--asm_listing, -al)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ASM_LISTING" value="true" valueType="boolean"/>

  • If i like to adjust the project i encounter the following error:

    eclipse -data ~/Desktop/ccs_work -noSplash -application org.eclipse.rtsc.xdctools.buildDefinitions.buildProjectSpec
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See www.slf4j.org/codes.html for further details.
    Usage: eclipsec -nosplash -data <outputDir> application org.eclipse.rtsc.builddefinitions.apps.buildProjectSpec <projecspecfile or Directory> [-filterFamily <Filter Family>] [-filterVariant <Filter Variant>] [-filterDevice <Filter Device Name>] [-filterCompiler <Compiler version>] [-platform <Platform>] [-target <Target>] [-endian <Endian>] [-format <Format>] [-compiler <Compiler>] [-ccs.definePathVariable <Name> <Location>] [-verbose] [-importProjectOnly]
    Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: com.ti.ccstudio.devicemodel.DeviceModelLoader$InitializationJob$3

  • The project modifcation is possible via the application "com.ti.ccstudio.apps.modifyProject" possible:

    try:

    > eclipse -data <WORKSPACE> -nosplash -application com.ti.ccstudio.apps.modifyProject -ccs.project <PROJECT> -ccs.setCompilerOptions "--asm_listing" -ccs.setCompilerOption "--keep_asm"

    The first option is to generate a .lst file in the build configuration subfolder. The second is to keep the generated .asm file for each source.

    Thanks

    ki