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.

Problem with openmp helloworld example with 6678

Hi,

I try to run the simple openmp hello world example. After launching the project to emulator 560v2 in the EVM6678, it is in a running status, see below figure:

The core0 stops while core 1, 2 and 3 are running, core 4,5,6 and 7 seem no loading code. This does not look like the normal launching case. Of course, there is no correct echo message in the console window.

The tools used are shown as:

I have no idea what tool may be outdated or not.

This is the echo message when launching:

C66xx_0: GEL Output: Setup_Memory_Map...
C66xx_0: GEL Output: Setup_Memory_Map... Done.
C66xx_1: GEL Output: Setup_Memory_Map...
C66xx_1: GEL Output: Setup_Memory_Map... Done.
C66xx_2: GEL Output: Setup_Memory_Map...
C66xx_2: GEL Output: Setup_Memory_Map... Done.
C66xx_3: GEL Output: Setup_Memory_Map...
C66xx_3: GEL Output: Setup_Memory_Map... Done.
C66xx_4: GEL Output: Setup_Memory_Map...
C66xx_4: GEL Output: Setup_Memory_Map... Done.
C66xx_5: GEL Output: Setup_Memory_Map...
C66xx_5: GEL Output: Setup_Memory_Map... Done.
C66xx_6: GEL Output: Setup_Memory_Map...
C66xx_6: GEL Output: Setup_Memory_Map... Done.
C66xx_7: GEL Output: Setup_Memory_Map...
C66xx_7: GEL Output: Setup_Memory_Map... Done.
C66xx_0: GEL Output:
Connecting Target...
C66xx_0: GEL Output: DSP core #0
C66xx_0: GEL Output: C6678L GEL file Ver is 2.004
C66xx_0: GEL Output: Global Default Setup...
C66xx_0: GEL Output: Setup Cache...
C66xx_0: GEL Output: L1P = 32K
C66xx_0: GEL Output: L1D = 32K
C66xx_0: GEL Output: L2 = ALL SRAM
C66xx_0: GEL Output: Setup Cache... Done.
C66xx_0: GEL Output: Main PLL (PLL1) Setup ...
C66xx_0: GEL Output: PLL1 Setup for DSP @ 1000.0 MHz.
C66xx_0: GEL Output: SYSCLK2 = 333.3333 MHz, SYSCLK5 = 200.0 MHz.
C66xx_0: GEL Output: SYSCLK8 = 15.625 MHz.
C66xx_0: GEL Output: PLL1 Setup... Done.
C66xx_0: GEL Output: Power on all PSC modules and DSP domains...
C66xx_0: GEL Output: Security Accelerator disabled!
C66xx_0: GEL Output: Power on all PSC modules and DSP domains... Done.
C66xx_0: GEL Output: PA PLL (PLL3) Setup ...
C66xx_0: GEL Output: PA PLL Setup... Done.
C66xx_0: GEL Output: DDR3 PLL (PLL2) Setup ...
C66xx_0: GEL Output: DDR3 PLL Setup... Done.
C66xx_0: GEL Output: DDR begin (1333 auto)
C66xx_0: GEL Output: XMC Setup ... Done
C66xx_0: GEL Output:
DDR3 initialization is complete.
C66xx_0: GEL Output: DDR done
C66xx_0: GEL Output: DDR3 memory test... Started
C66xx_0: GEL Output: DDR3 memory test... Passed
C66xx_0: GEL Output: PLL and DDR Initialization completed(0) ...
C66xx_0: GEL Output: configSGMIISerdes Setup... Begin
C66xx_0: GEL Output:
SGMII SERDES has been configured.
C66xx_0: GEL Output: Enabling EDC ...
C66xx_0: GEL Output: L1P error detection logic is enabled.
C66xx_0: GEL Output: L2 error detection/correction logic is enabled.
C66xx_0: GEL Output: MSMC error detection/correction logic is enabled.
C66xx_0: GEL Output: Enabling EDC ...Done
C66xx_0: GEL Output: Configuring CPSW ...
C66xx_0: GEL Output: Configuring CPSW ...Done
C66xx_0: GEL Output: Global Default Setup... Done.
C66xx_0: GEL Output: Invalidate All Cache...
C66xx_0: GEL Output: Invalidate All Cache... Done.
C66xx_0: GEL Output: GEL Reset...
C66xx_0: GEL Output: GEL Reset... Done.
C66xx_0: GEL Output: Disable all EDMA3 interrupts and events.
C66xx_1: GEL Output:
Connecting Target...
C66xx_1: GEL Output: DSP core #1
C66xx_1: GEL Output: C6678L GEL file Ver is 2.004
C66xx_1: GEL Output: Global Default Setup...
C66xx_1: GEL Output: Setup Cache...
C66xx_1: GEL Output: L1P = 32K
C66xx_1: GEL Output: L1D = 32K
C66xx_1: GEL Output: L2 = ALL SRAM
C66xx_1: GEL Output: Setup Cache... Done.
C66xx_1: GEL Output: Global Default Setup... Done.
C66xx_1: GEL Output: Invalidate All Cache...
C66xx_1: GEL Output: Invalidate All Cache... Done.
C66xx_1: GEL Output: GEL Reset...
C66xx_1: GEL Output: GEL Reset... Done.
C66xx_2: GEL Output:
Connecting Target...
C66xx_2: GEL Output: DSP core #2
C66xx_2: GEL Output: C6678L GEL file Ver is 2.004
C66xx_2: GEL Output: Global Default Setup...
C66xx_2: GEL Output: Setup Cache...
C66xx_2: GEL Output: L1P = 32K
C66xx_2: GEL Output: L1D = 32K
C66xx_2: GEL Output: L2 = ALL SRAM
C66xx_2: GEL Output: Setup Cache... Done.
C66xx_2: GEL Output: Global Default Setup... Done.
C66xx_2: GEL Output: Invalidate All Cache...
C66xx_2: GEL Output: Invalidate All Cache... Done.
C66xx_2: GEL Output: GEL Reset...
C66xx_2: GEL Output: GEL Reset... Done.
C66xx_3: GEL Output:
Connecting Target...
C66xx_3: GEL Output: DSP core #3
C66xx_3: GEL Output: C6678L GEL file Ver is 2.004
C66xx_3: GEL Output: Global Default Setup...
C66xx_3: GEL Output: Setup Cache...
C66xx_3: GEL Output: L1P = 32K
C66xx_3: GEL Output: L1D = 32K
C66xx_3: GEL Output: L2 = ALL SRAM
C66xx_3: GEL Output: Setup Cache... Done.
C66xx_3: GEL Output: Global Default Setup... Done.
C66xx_3: GEL Output: Invalidate All Cache...
C66xx_3: GEL Output: Invalidate All Cache... Done.
C66xx_3: GEL Output: GEL Reset...
C66xx_3: GEL Output: GEL Reset... Done.
C66xx_4: GEL Output:
Connecting Target...
C66xx_4: GEL Output: DSP core #4
C66xx_4: GEL Output: C6678L GEL file Ver is 2.004
C66xx_4: GEL Output: Global Default Setup...
C66xx_4: GEL Output: Setup Cache...
C66xx_4: GEL Output: L1P = 32K
C66xx_4: GEL Output: L1D = 32K
C66xx_4: GEL Output: L2 = ALL SRAM
C66xx_4: GEL Output: Setup Cache... Done.
C66xx_4: GEL Output: Global Default Setup... Done.
C66xx_4: GEL Output: Invalidate All Cache...
C66xx_4: GEL Output: Invalidate All Cache... Done.
C66xx_4: GEL Output: GEL Reset...
C66xx_4: GEL Output: GEL Reset... Done.
C66xx_5: GEL Output:
Connecting Target...
C66xx_5: GEL Output: DSP core #5
C66xx_5: GEL Output: C6678L GEL file Ver is 2.004
C66xx_5: GEL Output: Global Default Setup...
C66xx_5: GEL Output: Setup Cache...
C66xx_5: GEL Output: L1P = 32K
C66xx_5: GEL Output: L1D = 32K
C66xx_5: GEL Output: L2 = ALL SRAM
C66xx_5: GEL Output: Setup Cache... Done.
C66xx_5: GEL Output: Global Default Setup... Done.
C66xx_5: GEL Output: Invalidate All Cache...
C66xx_5: GEL Output: Invalidate All Cache... Done.
C66xx_5: GEL Output: GEL Reset...
C66xx_5: GEL Output: GEL Reset... Done.
C66xx_6: GEL Output:
Connecting Target...
C66xx_6: GEL Output: DSP core #6
C66xx_6: GEL Output: C6678L GEL file Ver is 2.004
C66xx_6: GEL Output: Global Default Setup...
C66xx_6: GEL Output: Setup Cache...
C66xx_6: GEL Output: L1P = 32K
C66xx_6: GEL Output: L1D = 32K
C66xx_6: GEL Output: L2 = ALL SRAM
C66xx_6: GEL Output: Setup Cache... Done.
C66xx_6: GEL Output: Global Default Setup... Done.
C66xx_6: GEL Output: Invalidate All Cache...
C66xx_6: GEL Output: Invalidate All Cache... Done.
C66xx_6: GEL Output: GEL Reset...
C66xx_6: GEL Output: GEL Reset... Done.
C66xx_7: GEL Output:
Connecting Target...
C66xx_7: GEL Output: DSP core #7
C66xx_7: GEL Output: C6678L GEL file Ver is 2.004
C66xx_7: GEL Output: Global Default Setup...
C66xx_7: GEL Output: Setup Cache...
C66xx_7: GEL Output: L1P = 32K
C66xx_7: GEL Output: L1D = 32K
C66xx_7: GEL Output: L2 = ALL SRAM
C66xx_7: GEL Output: Setup Cache... Done.
C66xx_7: GEL Output: Global Default Setup... Done.
C66xx_7: GEL Output: Invalidate All Cache...
C66xx_7: GEL Output: Invalidate All Cache... Done.
C66xx_7: GEL Output: GEL Reset...
C66xx_7: GEL Output: GEL Reset... Done.

They are righ?

I have used the GEL as the link said:

http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/199072.aspx

I check the .cfg file and do not see the setting to run the core number (4 loading code above) yet. I do see there are 4 threads in the main().

I do not add a link cmd file yet. If it needs, which one I can use?

Thanks,

  • Hi,

    The CCS version is V5.2. Windows 7, 64 bit. After launching, core0 stops while core 1,2 and 3 running. This is not with other projects that wait for running after launching.

    Here is the compiling message. There is a warning like message about package:

    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

    I do not know whether it is serious or not.


    **** Build of configuration Debug for project openmpHello0 ****

    C:\ti\ccsv5\utils\bin\gmake -j4 -k all
    'Building file: ../omp_config.cfg'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_23_04_60/xs" --xdcpath="C:/ti/omp_1_01_03_02/packages;C:/ti/bios_6_33_06_50/packages;C:/ti/ipc_1_24_03_32/packages;C:/ti/pdk_C6678_1_1_2_5/packages;C:/ti/ccsv5/ccs_base;C:/ti/mcsdk_2_01_02_05/demos;" 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.2" "../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.2/bin/cl6x" -mv6600 --abi=eabi -g --include_path="C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.2/include" --display_error_number --diag_warning=225 --openmp --preproc_with_compile --preproc_dependency="omp_hello.pp" --cmd_file="./configPkg/compiler.opt" "../omp_hello.c"
    'Finished building: ../omp_hello.c'
    ' '
    'Building target: openmpHello0.out'
    'Invoking: C6000 Linker'
    "C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.2/bin/cl6x" -mv6600 --abi=eabi -g --display_error_number --diag_warning=225 --openmp -z --stack_size=0x8000 -m"openmpHello0.map" --heap_size=0x8000 -i"C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.2/lib" -i"C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.2/include" --reread_libs --warn_sections --display_error_number --rom_model -o "openmpHello0.out" -l"./configPkg/linker.cmd" "./omp_hello.obj" -l"libc.a"
    <Linking>
    'Finished building target: openmpHello0.out'
    ' '

    **** Build Finished ****

    .

  • After I update the .cfg file as the link suggested:

    http://e2e.ti.com/support/development_tools/compiler/f/343/t/218468.aspx

    I only update the .cfg file, not the Corresponding Platform.xdc file yet because I do not know which one and where to update it now.

     

     

    The compiling cannot pass any more. It shows:

    **** Build of configuration Debug for project openmpHello0 ****

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

    'Building file: ../omp_config.cfg'

    'Invoking: XDCtools'

    "C:/ti/xdctools_3_23_04_60/xs" --xdcpath="C:/ti/omp_1_01_03_02/packages;C:/ti/bios_6_33_06_50/packages;C:/ti/ipc_1_24_03_32/packages;C:/ti/pdk_C6678_1_1_2_5/packages;C:/ti/ccsv5/ccs_base;C:/ti/mcsdk_2_01_02_05/demos;" 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.2" "../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.2/bin/cl6x" -mv6600 --abi=eabi -g --include_path="C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.2/include" --display_error_number --diag_warning=225 --openmp --preproc_with_compile --preproc_dependency="omp_hello.pp" --cmd_file="./configPkg/compiler.opt"  "../omp_hello.c"

    'Finished building: ../omp_hello.c'

    ' '

    'Building target: openmpHello0.out'

    'Invoking: C6000 Linker'

    "C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.2/bin/cl6x" -mv6600 --abi=eabi -g --display_error_number --diag_warning=225 --openmp -z --stack_size=0x8000 -m"openmpHello0.map" --heap_size=0x8000 -i"C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.2/lib" -i"C:/Program Files (x86)/Texas Instruments/C6000 Code Generation Tools 7.4.2/include" --reread_libs --warn_sections --display_error_number --rom_model -o "openmpHello0.out" -l"./configPkg/linker.cmd"  "./omp_hello.obj" -l"libc.a"

    <Linking>

    undefined           first referenced

      symbol                 in file    

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

    GOMP_parallel_end   ./omp_hello.obj

    GOMP_parallel_start ./omp_hello.obj

    omp_get_num_threads ./omp_hello.obj

    omp_get_thread_num  ./omp_hello.obj

    omp_set_num_threads ./omp_hello.obj

    error #10234-D: unresolved symbols remain

    error #10010: errors encountered during linking; "openmpHello0.out" not built

    >> Compilation failure

    gmake: *** [openmpHello0.out] Error 1

    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

    Whether I should update the .cfg file or not? If it should update, then what else I can do?

  • Excuse me. Please ignore previous post. It is not accurate information.

     

    The compiling error is this:

    Description Resource Path Location Type Cannot read property "base" from undefined omp_config.cfg /openmpHello0 Configuration Validation XDCTools Configuration Marker

    Description Resource Path Location Type Cannot read property "base" from undefined (C:/Users/Jeff/workspace_v5_1_OPENMP/openmpHello0/omp_config.cfg#44) omp_config.cfg /openmpHello0 44 C/C++ Problem

    line 44 is:

      SharedRegion.setEntryMeta( 2,

                                 {   base: heapOmpMem.base,                              

                                     len:  heapOmpMem.len,                              

                                     ownerProcId: 0,

                                     cacheEnable:

    true,

                                     createHeap:

    true,

                                     isValid:

    true,

                                     name:

    "heapomp",                          

                                  });

                                 

    What is wrong with the new .cfg file? Thanks.

  • hello,Robert W

    I met the same problem with you now,Did you finally solve the problem?

    regards,
    ZhaQi.