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.

System Analyser Execution graph for multicore

Other Parts Discussed in Thread: SYSBIOS

Hello all,

We are trying to get an execution graph of my application which uses Sys/bios and Notify (IPC) communication between 8 cores.
The application is functionnal (it works with and without SA).

Our setup:
EVM C6678 through JTAG
single image for all cores
Sys/bios 6.33.6.50
System Analyser 1.1.0.04
XDCtools 3.23.04.60
CCS 5.1.0.201206191800

CFG : see below

We use JTAG run mode. All 8 cores are instrumented.

The execution graph is strange and doesn't work as expected.

We want to see on it (for each core):
1) the time spent in the only task of the program
2) the time spent in the callback function registered with notify
3) flags when a notify event is sent

3 questions :

a) What does the Out_of_seq Data warning mean ?
b) Why is System Analyser so unreliable ? It's crashing the debug session everytime we change the slightest thing.
c) What are good starting points for the size of the sysbios loggers for an 8 core application ?

Thank you,
Clément

CFG :

var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
var Log = xdc.useModule('xdc.runtime.Log');
var LoggerCircBuf = xdc.useModule('ti.uia.runtime.LoggerCircBuf');
var System   = xdc.useModule('xdc.runtime.System');
var SysStd   = xdc.useModule('xdc.runtime.SysStd');
var Notify      = xdc.useModule('ti.sdo.ipc.Notify');
var Ipc         = xdc.useModule('ti.sdo.ipc.Ipc');
var BIOS        = xdc.useModule('ti.sysbios.BIOS');
var Task        = xdc.useModule('ti.sysbios.knl.Task');
var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
var Defaults = xdc.useModule('xdc.runtime.Defaults');
var Diags = xdc.useModule('xdc.runtime.Diags');
var Error = xdc.useModule('xdc.runtime.Error');
var UIAErr = xdc.useModule('ti.uia.events.UIAErr');
var UIAEvt = xdc.useModule('ti.uia.events.UIAEvt');
var UIABenchmark = xdc.useModule('ti.uia.events.UIABenchmark');
var UIAStatistic = xdc.useModule('ti.uia.events.UIAStatistic');

LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGRUNMODE;
LoggingSetup.sysbiosLoggerSize = 32768;
LoggingSetup.sysbiosSwiLogging = false;
LoggingSetup.sysbiosHwiLogging = false;

 var nameList = MultiProc.getDeviceProcNames();
MultiProc.numProcessors = 8;
MultiProc.setConfig(null, nameList);

System.SupportProxy = SysStd;
BIOS.heapSize   = 0x8000;

 var tsk0 = Task.create('&tsk0_func');
tsk0.instance.name = "tsk0";

for (var i = 0; i < MultiProc.numProcessors; i++) { Ipc.setEntryMeta({  remoteProcId: i,   setupMessageQ: false, }); }

Ipc.procSync = Ipc.ProcSync_ALL;

var SHAREDMEM           = 0x80000000;
var SHAREDMEMSIZE       = 0x00100000;

SharedRegion.setEntryMeta(0,  { base: SHAREDMEM,  len:  SHAREDMEMSIZE,   ownerProcId: 0,   isValid: true,   name: "DDR2_RAM", });

  • Hello,

    Clement Mesnier said:
    CCS 5.1.0.201206191800

    Can I suggest that you update to the latest version of CCS? There has been several updates since your version which includes various bug fixes and enhancements. It may have with the reliability issues and warnings you are reporting. CCSv5.3.0 is the current release though CCSv5.4 is coming soon (beta is available if you wish to try it)

    Please let us know if the update helps

    Thanks

    ki

  • We finally moved to CCS 5.3

    We've been able to run the System Analyser on a multicore application with a) 2 cores b) 4 cores c) 8 cores.

    For 2 cores it worked right out of the box. For 4 cores we had to tweak things a bit.

    For 8 cores we had to use two separate .out (one for the master core 0 and one for the 7 slaves).

    We are investigating on it on this thread : http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/261977/917126.aspx

    Consider this one closed.