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.

Cannot run OpenMp Hello World Example using C6678 Device Cycle Approximate Simulator

Other Parts Discussed in Thread: TMS320C6678

Hello,
I am currently evaluating the potential of using the TMS320C6678 Multi core in my project. However, I can't get a simple OMP Hello World Example to run in its Device Cycle Approximate Simulator (Note: I got it to work on the Functional Simulator).

Here's my software versions.

Windows 7 Enterprise
1. CCS 5.4.0 (its 5.3.0. for CCS IDE C6000 components).
2. OpenMP 1.1.3.02
3. MCSDK 1.1.2.5
4. CGT 7.4.0 (was 7.4.2, but moving it to 7.4.0. has not made a difference)
5. SYS/BIOS 6.35.1.29
6. IPC 1.25.0.04

I have tried the following to no avail
1. Loading/Running it on 4, 8, and 1 core(s).
2. Setting autoDownload to false in omp_config.cfg file.
3. Setting Target Configuration to load program only in first core.
4. Setting Target Configuration to group slave cores (e.g 1-3).

What happens most of the time is that the CCS freezes and becomes non-responsive until I terminate the process.

Thanks for your help.

  • Hi,

    would you be able to provide a few more details?  At what point does ccs freeze?  What exact steps do you take (to see if we would be able to reproduce this)?  Are you able to check whether this only happens in simulating?  

    In order to dig into the problem, what we would require are the dump files especially (.dmp) generated as well as any error logs.  Information on finding and enabling error logging can be found here:

    http://processors.wiki.ti.com/index.php/Troubleshooting_CCS

    Best Regards,

    Lisa

  • Thanks for your response.

    Here are the steps that I initially took to setup the project

    1. Created the CCS Project using the setup illustrated below.

    (Dev Family C6000, Variant: C66xx Multicore DSP, TMS320C6678, Connection: Texas Instruments XDS100v1 USB Emulator)

    2. RTSC Configuration settings are shown below:
    (XDCtools version 3.25.0.48, IPC 1.23.0.04, MCSDK PDK TMS320C6678 1.1.2.5, OpenMP BIOS runtime library 1.1.3.02, SYS/BIOS 6.35.1.29)
    (Target: ti.targets.elf.C66, Platform: ti.omp.examples.platforms.evm6678, Build-profile: debug)

    3. After the project is setup, I go to the target configuration file and set it as shown below to use C6678 Device Cycle Approximate Simulator, Little Endian

    4. Build messages are shown below:

    **** Build of configuration Debug for project TestOMPHelloWorld_Fm ****

     

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all

    'Building file: ../omp_config.cfg'

    'Invoking: XDCtools'

    "C:/ti/xdctools_3_25_00_48/xs" --xdcpath="C:/ti/omp_1_01_03_02/packages;C:/ti/bios_6_35_01_29/packages;C:/ti/ipc_1_25_00_04/packages;C:/ti/pdk_C6678_1_1_2_5/packages;C:/ti/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.omp.examples.platforms.evm6678 -r debug -c "C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0" "../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 ...

    cle66 package/cfg/omp_config_pe66.c ...

    'Finished building: ../omp_config.cfg'

    ' '

    'Building file: ../omp_hello.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --abi=eabi -g --include_path="C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0/include" --display_error_number --diag_warning=225 --diag_wrap=off --openmp --preproc_with_compile --preproc_dependency="omp_hello.pp" --cmd_file="./configPkg/compiler.opt"  "../omp_hello.c"

    'Finished building: ../omp_hello.c'

    ' '

    'Building target: TestOMPHelloWorld_Fm.out'

    'Invoking: C6000 Linker'

    "C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --abi=eabi -g --display_error_number --diag_warning=225 --diag_wrap=off --openmp -z -m"TestOMPHelloWorld_Fm.map" -i"C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0/lib" -i"C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.0/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="TestOMPHelloWorld_Fm_linkInfo.xml" --rom_model -o "TestOMPHelloWorld_Fm.out" -l"./configPkg/linker.cmd"  "./omp_hello.obj" -l"libc.a"

    <Linking>

    'Finished building target: TestOMPHelloWorld_Fm.out'

    ' '

     

    **** Build Finished ****

    5. When I do a debug of the project, I set the Debug Session as shown below:
    (Only TMS320C66x_0 through TMS320C66x_3 cores are selected, no debug group done at this point)

    6. As soon as I enter OK on the previous dialog, I get this message in the debug console box.

    TMS320C66x_0: Warning: A memory access is pending for greater than 100000 CPU cycles. Check if all the CPU cores are running.

    7.  And my Debug Screen looks like below:

    (TMS320C66x_1 through TMS320C66x_3 are Running but TMS320C66x_0 is Suspended at the memcpy() function)

    8. When I hit resume on the first core, simulator seems to be running for a bit.

    9. But CCS never returns to normal, when I click on another core, CCS freezes and whites out (as shown below).

    10. I have to terminate the CCS application and restart it. Like I said in the OP, I have tested grouping the cores, setting autoload to false, etc, but to no avail. I am open and willing to try any ideas to resolve this problem.

    Thanks

  • Hi,

    this has been passed to the Simulation team so hopefully they will be able to help.

    Best Regards,
    Lisa 

  • Hi,

    Can you try enabling global break points on thr group that you have selected. To do this

     Right click on the "group" and select "enable global break points" before running the cores in the group.

    Let us know your observations, will take it further from there onwards.

     

    regards,

    Sheshadri

     

  • Hello,

    Thanks for your suggestion. I tried enabling global break points on the group of 4 cores, but the problem still persists. All four cores appear to be running, however, whenever I pause any of the cores (or the group), CCS freezes and stops responding until I terminate it.

     

     

  • Hello,

    Are there any new status on this?

  • Hi,

    Can you mail me the hello world out file so that I can reproduce and analyse the problem.

    regards,

    Sheshadri

  • 2746.TestOMPHelloWorld_Fm.log

    Here is the file.

    Change the extension from 'log' to 'out' in order to test it

    Thanks