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.

CCS/TMDSEVM6678: Create working openMP example project...

Part Number: TMDSEVM6678

Tool/software: Code Composer Studio

Hello. I got problems trying to use openMP on EVM 6678.

My configuration:

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

TMDSEVM6678LE Rev.3B

OS: Windows 7 x64

CCS: 7.3.0.00019

PDK: 04.01.00.06

CG_XML 2.41.00
CTools Library 2.2.0.0
DSPLIB 3.4.0.0
EDMA3 LLD 2.12.05.29
FFTLIB 3.1.0.0
Framework Components 3.40.02.07
IMGLIB 3.1.1.0
IPC 3.46.02.04
LIBARCH 1.0.0.0
LINALG 1.2.0.0
MATHLIB 3.1.1.0
NDK 2.25.01.11
OpenMP 2.06.02.00
PDK C667X 2.0.7
Processor SDK RTOS C667X 04.01.00.06
SYS/BIOS 6.46.05.55
TI CGT 6x 8.1.3
UIA 2.00.06.52
XDAIS 7.24.00.04
XDCtools 3.32.01.22

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

1. I created an empty RTSC project (as I understand I must use rtsc project)

2. I enabled IPC, OpenMP and SYS/BIOS in Products tab in project properties

3. I enabled --omp and --multithread in Advanced Optimizations for C6000 Compiler

4. Copied 'hello.c' and 'omp_config.cfg' from 'c:\ti\openmp_dsp_c667x_2_06_02_00\packages\examples\hello_with_make\' to my project folder

So I got this error building the project:

**** Build of configuration Debug for project omp_rtsc ****

"C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O
gmake[1]: Entering directory 'C:/_Projects/workspace_v7/omp_rtsc/Debug'
'Building file: ../omp_config.cfg'
'Invoking: XDCtools'
"C:/ti/xdctools_3_32_01_22_core/xs" --xdcpath="C:/ti/ipc_3_46_02_04/packages;C:/ti/openmp_dsp_c667x_2_06_02_00/packages;C:/ti/bios_6_46_05_55/packages;C:/ti/pdk_c667x_2_0_7/packages;C:/ti/ccsv7/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.evm6678 -r release -c "C:/ti/ti-cgt-c6000_8.1.3" "../omp_config.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring omp_config.xe66 from package/cfg/omp_config_pe66.cfg ...
subdir_rules.mk:19: recipe for target 'build-472138095-inproc' failed
js: "C:/_Projects/workspace_v7/omp_rtsc/omp_config.cfg", line 127: TypeError: Cannot read property "base" from undefined (C:/_Projects/workspace_v7/omp_rtsc/omp_config.cfg#127)
"./package/cfg/omp_config_pe66.cfg", line 188
gmake.exe: *** [package/cfg/omp_config_pe66.xdl] Error 1
js: "C:/ti/xdctools_3_32_01_22_core/packages/xdc/tools/Cmdr.xs", line 52: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
gmake[1]: *** [build-472138095-inproc] Error 1
gmake: *** [build-472138095] Error 2
gmake[1]: Leaving directory 'C:/_Projects/workspace_v7/omp_rtsc/Debug'
subdir_rules.mk:16: recipe for target 'build-472138095' failed
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

What was done wrong?

I read threads with other OpenMP problems on forum, but there no solutions there. So the question is: how to create working openMP project? Is there any step-by-step manual to start?

  • Hi,

    I've notified the sw team. Their feedback will be posted here.

    Best Regards,
    Yordan
  • Hi Sergey,

    >>-p ti.platforms.evm6678
    You need to use ti.runtime.openmp.platforms.evm6678 as RTSC platform in your OpenMP build. The platform definition is from OpenMP release.

    The OpenMP project create/build instruction is here: downloads.ti.com/.../building_openmp_app.html

    Regards,
    Garrett
  • Hello. Thank you for a quick answer.

    Yes, I use 'ti.platforms.evm6678' platform. XDCtools didn't find 'ti.runtime.openmp.platforms.evm6678'. So the solution is to add a new path here:

    And it appears in list here

    Now project has compiled. With some warnings, what do they mean?

  • Hi Sergey,

    The thread has details on the warning of .tdata and .tbss:
    e2e.ti.com/.../2263217

    Regards,
    Garrett
  • Thank you. I read the post and SPRAB89A.pdf.

    My project's now working (thanks again) but I still can't close the warnings. Is it possible? Is it necessary?

    * I tried to add sections .tdata and .tbss modifying omp_config.cfg (and also adding .TI.tls instead)

  • Sergey,

    You can ignore the warning if you have .TI.tls: > DDR3 in your linker command file.

    As Todd pointed out in that thread: "I believe the linker is being misleading by generating warnings for the creation of .tdata and .tbss when ".TI.tls: > L2SRAM" is used in the linker command file. I have submitted a defect report against the linker for this issue (SDSCM00052804) to avoid generating warnings about .tdata and .tbss when a legal ".TI.tls" specification is present in the linker command file." and "It is recommended that you account for the main thread's TLS block allocation at link time by placing it in DDR3 as opposed to L2SRAM.allocate the main thread's TLS block (i.e. ".TI.tls: > DDR3")."

    Regards,
    Garrett