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.

OpenMP Hello World does not output anything

Other Parts Discussed in Thread: SYSBIOS

I'm trying to run the OpenMP Hello world example in

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

After backing off the XDC and Bios version to older ones, I managed to get it to compile and link.  Now when it runs there is no output on the console. Not even core 0 displays anything.  No error messages either, just nothing.  Where should I look?

Mike

EVM6678L

CCSv6,

compiler C66000 7.4.12.

XDCTOOLS 3.25.3.72

SYSBIOS 6.37.3.30

OMP 1.1.3.2

  • Are any of the cores getting to main()?
  • Looking at the release notes for the most recent BIOS MCSDK release (2.1.2), it appears to me that you should be using xdctools 3.23.04.60 and sysbios 6.33.06.50.

    Alan

  • I backed XDCTOOLS and SYSBIOS down to the recommended versions, and also the IPC version to the one in the release notes : IPC 1.24.3.32

    It does not seem to make it to main.  When I press pause in the debugger, it seems to stop in one of two places, neither of which has source code available:

    SharedRegion_getEntry(....)

    or

    Ipc_attach(....) 

    I guess that means it is not making it out of the bios/system initialization?  How does one go about debugging that?

    Thanks for your help

    Mike

  • Another question, I have no GEL scripts in CCS right now, should there be? I've succeeded in getting other programs to work without them, but this is one seems different, uses a different platform file from the omp directory instead of from the newer sysbios 6.4
  • Mike,

    For this OpenMP example you need to make sure that none of the cores are trying to run to main after a program load. Right-click on your target configuration file (*.ccxml) and go to properties. Select each core from the 'Device' drop down. Click on the 'Auto Run and Launch Options' tab on the left and then uncheck both check boxes under 'Auto Run Options'. Make sure that you do this for all of the cores in the Device dropdown.

    Load the gel script found in mcsdk_02_01_02_06\mcsdk_2_01_02_06\tools\program_evm\gel\evmc6678l.gel then run Global_Default_Setup on core 0 after connecting to the device.

    Also, load the program to core 0 and only load the symbols to rest of the cores.

    Once you do all three of these things you will hopefully see output in the console when running the example.

    Thanks,

    Jason Reeder
  • As an update to this thread, we have continued to improve our implementation of OpenMP and have released these updates in a software release for KeyStone II devices. A wiki page has been created that gives instructions on how to download the new OpenMP implementation and port it to KeyStone I devices. Please find the wiki page here: processors.wiki.ti.com/.../Porting_OpenMP_2.x_to_KeyStone_1 for the porting instructions.

    Thanks,

    Jason Reeder