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.

TMS320C6655: compiler flag & linker setting

Part Number: TMS320C6655


I want to use ceedling as unit test tool for DSP core. Ceedling is properly working on my pc for TIVA ware board(arm cortex compiler-m4).I am getting error when i use TMS320C6000 dsp compiler v 8.1.0.Please give me proper compiler flag  & linker setting for DSP TMS320C6000. I am using below compiler setting for ceedling.
:tools:
:release_compiler:
:executable: cl6x
:arguments:
- ${1}

- -mv6810

- -mcpu=TMS320C6000

- -abi=eabi

- -c99

- -gcc
- -o ${2}

:release_linker:
:executable: lnk6x
:arguments:

- -mcpu=TMS320C6000
- -z

- -o ${2}
# - ${1}
- lib/ti-cgt-c6000_8.1.0/lib/libc.a

  • Hi Prashant,

    I've forwarded this to the c66x SW experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Prashant,

    Most of the settings you have indicated in the post seem to correct but you haven`t provided the failure log that you observed when trying to build the code so it is hard to provide guidance on what is causing your build issue. Can you please provide the log.

    A good starting point is always to use a CCS template to setup your code for a new architecture and then update the settings.
    An example of creating a hello world template for this core is provided here:
    processors.wiki.ti.com/.../Processor_SDK_Bare_Metal_Examples

    You can then follow the instructions in this document to optimize the compiler and linker settings.
    www.ti.com/.../sprabf2.pdf
    www.ti.com/.../spru187u.pdf

    Hope this helps.

    Regards,
    Rahul
  • Hi,
    Thanks for reply.
    I am getting below error on cmd console.

    rake aborted!
    Psych::SyntaxError: (<unknown>): did not find expected key while parsing a block
    mapping at line 78 column 3
    C:/Users/sameerk5/example-project/rakefile.rb:2:in `<top (required)>'
    ---------------------------------------------------------------------------------------------------------------

    Please see DSP ymal file.

    :project:
    :use_exceptions: FALSE
    :use_test_preprocessor: TRUE
    :use_auxiliary_dependencies: TRUE
    :build_root: build
    :release_build: TRUE
    :test_file_prefix: test_

    :release_build:
    :output: project.axf

    :environment:
    :environment:
    -:path: C:/Users/sameerk5/example-project/lib/ti-cgt-c6000_8.1.0

    :extension:
    :executable: .bin

    :paths:
    :test:
    - +:test/**
    # - -:test/support
    :source:
    - src/**
    :include:
    # -lib/ti-cgt-c6000_8.1.0
    :defines:
    # in order to add common defines:
    # 1) remove the trailing [] from the :common: section
    # 2) add entries to the :common: section (e.g. :test: has TEST defined)
    :commmon: &common_defines []
    :test:
    - *common_defines
    - TEST
    :test_preprocess:
    - *common_defines
    - TEST

    :cmock:
    :mock_prefix: mock_
    :when_no_prototypes: :warn
    :enforce_strict_ordering: TRUE
    :treat_externs: :include
    :includes_h_pre_orig_header:
    - <stdbool.h>
    - <stdint.h>
    :plugins:
    - :ignore
    - :callback
    :treat_as:
    uint8: HEX8
    uint16: HEX16
    uint32: UINT32
    int8: INT8
    bool: UINT8

    :tools:
    :release_compiler:
    :executable: cl6x
    :arguments:
    - ${1}
    - -mv6810
    - -mcpu=TMS320C6000
    - -abi=eabi
    - -c99
    - -I"$": COLLECTION_PATHS_INCLUDE
    - -gcc
    - -o ${2}
    :release_linker:
    :executable: lnk6x
    :arguments:
    - -mcpu=TMS320C6000
    - -z
    - -a
    - ${1}
    - -o "${2}"
    - ${1}
    - lib/ti-cgt-c6000_8.1.0/lib/libc.a
    :plugins:
    :load_paths:
    - "#{Ceedling.load_path}"
    :enabled:
    - stdout_pretty_tests_report
    - module_generator
    ...
  • I am moving this to the compiler forums to see if you can get some inputs from the TI compiler team experts.
  • You should change the linker executable to "cl6x -z" or you'll have trouble compiling C++ templates, and possibly other features.

    Other than that, I'm not familiar with this configuration file, so I'll have to defer to someone else.
  • Hi,

         Thanks for reply.My problem is solved.Now i want to add gcov (coverage tool) with ceedling for DSP and other core.Please send me gcov excutable , gcov linker file for DSP , ARM(cortex-4),Arp32 & gcov Dsp document.

    Regards,

    sameer