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.
Dear Experts,
I am able to build, load, and execute the Hello World OpenMP example from within CCS v5.1. Now I would like to use the scripts provided by TI that utilize CCS's scripting capabilities (DSS) that allow running a built OpenMP executable and viewing CIO output from within a Windows console. Per the instructions in the OMP (OpenMP Runtime for SYS/BIOS) User's Guide, I have updated:
I get the following mysterious error when using the supplied run.bat:
C:\home\omp_hello_world\runscript>run.bat platforms\evm6678_xds560v2.xs ../Debug/HelloWorld_example.out -n 4
ERROR: Couldn't load gel file to C66xx_0
JavaException: com.ti.ccstudio.scripting.environment.ScriptingException: Error evaluating "GEL_LoadGel("")": GEL_LoadGel requires file name parameter
My CCS window looks like this:
And my modified .xs file is:
/* ========= Start edit here ======== */
/* Configure the scripts for this specific target configuration. */
var platformName = "ti.omp.examples.platforms.evm6678";
Main.addCpu(platformName, "C66xx_0", false);
Main.addCpu(platformName, "C66xx_1", false);
Main.addCpu(platformName, "C66xx_2", false);
Main.addCpu(platformName, "C66xx_3", false);
Main.addCpu(platformName, "C66xx_4", false);
Main.addCpu(platformName, "C66xx_5", false);
Main.addCpu(platformName, "C66xx_6", false);
Main.addCpu(platformName, "C66xx_7", false);
Main.CCSPlatform = "*";
Main.shortPlatformName = "evm6678";
Main.ccxmlConfigFile = "c6678evm-builtin560.ccxml";
/* ========= End edit here ======== */
Main.run(arguments);
Also, I have attached my ccxml file, which I use just fine when attaching and debugging from my CCS.
Thanks in advance,
-SQ
SQ,
I’ve looked over your files and the one idea I have relates to the relative paths to the gel file in your c6678evm-builtin560.ccxml file. The OMP user’s guide says to put the .ccxml file in “a place where your scripts can access them”. So I wonder where you’ve placed the .ccxml file, and if the relative paths in the .ccxml file need to be updated to properly find the gel file. Could this be the problem?
Thanks,
Scott
Thanks for taking a look Scott.
I don't think it's the case where it cannot locate the .ccxml file. I say this because I also tried inserting the fully qualified path to my .ccxml file inside of the .xs file, and got the same mysterious GEL_LoadGel("") error. Also, if I purposely put an incorrect path to the .ccxml file inside of the .xs file, the launch aborts (as expected) with a different error message saying that "the primary document entity could not be opened".
So then I went into the .ccxml file and added fully qualified paths to evmc6678l.gel.
I still get the same original error when executing the run.bat script..
-SQ
SQ,
OK, thanks.
I looked some more at the scripting files and don’t see anything that looks like an issue to me.
One thing to try… to your .xs file can you add: “Main.enableTracing = true;” This should provide some more verbose script output.
If there isn’t something there that helps, I’ll have to contact the CCS team and try to recreate the issue locally.
Thanks,
Scott
Please add the following line to your platform file evm6678_xds560.xs or evm6678_xds560v2.xs
Main.gelFile = "platforms/evmc6678l.gel";
Thanks
Yogesh
Better, but now I get the following error. I think the .xs and other associated OpenMP run scripts are now valid, but this error about failure to start the CCS Debug Server is weird.
C:\home\omp_hello_world\runscript>dir platforms
Volume in drive C is OSDisk
Volume Serial Number is 8615-B5C4
Directory of C:\home\omp_hello_world\runscript\platforms
10/15/2012 11:03 AM <DIR> .
10/15/2012 11:03 AM <DIR> ..
09/27/2012 09:10 AM 2,333 evm6670_xds560bh.xs
09/27/2012 09:10 AM 2,424 evm6678_xds100.xs
10/15/2012 01:57 PM 2,420 evm6678_xds560.xs
09/27/2012 09:10 AM 2,515 evm6678_xds560bh.xs
10/19/2012 03:20 PM 2,505 evm6678_xds560v2.xs
09/27/2012 09:10 AM 96,920 evmc6670l.gel
09/27/2012 09:10 AM 115,278 evmc6678l.gel
7 File(s) 224,395 bytes
2 Dir(s) 184,867,807,232 bytes free
C:\home\omp_hello_world\runscript>run.bat platforms\evm6678_xds560v2.xs ../Debug/HelloWorld_example.out -n 4
Mon, 22 Oct 2012 16:44:10 GMT: parseArgs: numCores = 4, fileName = ../Debug/HelloWorld_example.out, iterations = 1
Mon, 22 Oct 2012 16:44:12 GMT: Trying to load gel to C66xx_0
ERROR: Couldn't load gel file platforms/evmc6678l.gel to C66xx_0
JavaException: com.ti.ccstudio.scripting.environment.ScriptingException: Could not start server: DebugServer.1: Timed out after 30000ms
Is the target connected in CCS when running this script?
If yes, please disconnect the same and try again.
Regards
Yogesh
I don't think the target was connected but I did have CCS up in the background. So I closed that down and now get further, but get a different "data verification error" shown below. I re-verified that this all works fine from within CCS. Just for good measure, I did a clean rebuild and ran it from CCS. And then I closed down CCS completely before executing run.bat again.
One other note, whenever I run from CCS I use version 2.000 of the evmc6678l.gel file. I get the same error if I use this older version or version 2.003 of the evmc6678l.gel file (the one that was under platforms\).
I'm also using the Blackhawk 560 v2 mezzanine card to connect the emulator to my laptop. That is why I'm using the evm6678_xds560v2.xs file.
-SQ
C:\home\omp_hello_world\runscript>run.bat platforms\evm6678_xds560v2.xs ../Debug/HelloWorld_example.out -n 4
Mon, 22 Oct 2012 20:51:09 GMT: parseArgs: numCores = 4, fileName = ../Debug/HelloWorld_example.out, iterations = 1
Mon, 22 Oct 2012 20:51:09 GMT: Trying to load gel to C66xx_0
Mon, 22 Oct 2012 20:51:25 GMT: Trying to connect to C66xx_0
Mon, 22 Oct 2012 20:51:50 GMT: Trying to connect to C66xx_1
Mon, 22 Oct 2012 20:51:52 GMT: Trying to connect to C66xx_2
Mon, 22 Oct 2012 20:51:53 GMT: Trying to connect to C66xx_3
Connected to cores #0-3
Mon, 22 Oct 2012 20:51:54 GMT: Running ../Debug/HelloWorld_example.out on 4 cores.
js: "./Run.xs", line 126: Load ../Debug/HelloWorld_example.outon core 0 failed because of error: JavaException: com.ti.ccstudio.scripting.environment.ScriptingException: Error loading "../Debug/HelloWorld_example.out": File: C:\home\omp_hello_world\Debug\HelloWorld_example.out: a data verification error occurred, file load failed.
"./Run.xs", line 37
"./Main.xs", line 92
"./platforms/evm6678_xds560v2.xs", line 57
You will need to use the same GEL file that is working for you. You may either replace the gel file under platform directory with the working one or modify the evm6678_xds560v2.xs to point Main.gelFile to the working gel file.
Also if OpenMP.autoDnldCore is set to true(default), please run the out file on only one core
i.e. run.bat platforms\evm6678_xds560v2.xs ../Debug/HelloWorld_example.out -n 1
To run the outfile from 4 cores, rebuild your out-file with OpenMP.autoDnldCore=false.
-Yogesh
I am using the identical GEL file that is working for me when I run under CCS.
Even though OpenMP.autoDnldCore = true by default, I added that explictly in helloworld.cfg, rebuilt and then executed the run script as you suggested (with -n 1). The error message is similar as reported in my earlier posts, except now of course it connects to just the single core.
Just to make double (triple) sure, I then ran from within CCS using the following steps:
This procedure executed fine. Next, I set OpenMP.autoDnldCore = false, rebuilt, and then tried to run using four cores (-n 4). It now gives me a different timeout error (see below).
At this point, I am just about willing to continue my testing within CCS ...
C:\home\omp_hello_world\runscript>run.bat platforms\evm6678_xds560v2.xs ../Debug/HelloWorld_example.out -n 4
Tue, 23 Oct 2012 17:53:47 GMT: parseArgs: numCores = 4, fileName = ../Debug/HelloWorld_example.out, iterations = 1
Tue, 23 Oct 2012 17:53:47 GMT: Trying to load gel to C66xx_0
Tue, 23 Oct 2012 17:54:03 GMT: Trying to connect to C66xx_0
Tue, 23 Oct 2012 17:54:28 GMT: Trying to connect to C66xx_1
Tue, 23 Oct 2012 17:54:29 GMT: Trying to connect to C66xx_2
Tue, 23 Oct 2012 17:54:30 GMT: Trying to connect to C66xx_3
Connected to cores #0-3
Tue, 23 Oct 2012 17:54:32 GMT: Running ../Debug/HelloWorld_example.out on 4 cores.
Tue, 23 Oct 2012 17:54:35 GMT: Running all cores Asynchronously 30000
Tue, 23 Oct 2012 17:54:35 GMT: Waiting for apps to halt
Tue, 23 Oct 2012 17:54:35 GMT: Waiting for CORE0 to halt
Session Blackhawk XDS560v2-USB Mezzanine Emulator_0/C66xx_0 timed out after 30000ms.
[CORE0]
[CORE1]
[CORE2]
[CORE3]
Total Test: 1 Passed: 0 Failed: 1
===============================================
===========Test Results=============
===============================================
Total Test: 1 Passed: 0 Failed: 1
Failed Tests list:
The last run shows that it was able to load and run the out-file
Connected to cores #0-3
Tue, 23 Oct 2012 17:54:32 GMT: Running ../Debug/HelloWorld_example.out on 4 cores.
Tue, 23 Oct 2012 17:54:35 GMT: Running all cores Asynchronously 30000
Tue, 23 Oct 2012 17:54:35 GMT: Waiting for apps to halt
Tue, 23 Oct 2012 17:54:35 GMT: Waiting for CORE0 to halt
Session Blackhawk XDS560v2-USB Mezzanine Emulator_0/C66xx_0 timed out after 30000ms.
How-ever it didn't give desired result. Also the failures in loading the out-file looks strange.
I just have a quick question, have you used CCSV5 DEBUGSERVER outside OpenMP run-time scripts?
-Yogesh
I have used them before on a different laptop, where I was using MATLAB to call into the CCSV5 DSS to load DSP binaries, set breakpoints, etc.
I have not done it on this particular laptop, but I can surely do so. Can you send me a link to an example script/project I can try?
-SQ