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", });