Hi TI community,
I'm using the IPC module for QNX provided by TI's IPC package (1.0.10). It is possible to start a remote application on one of these slave cores (e.g. DSP1) and the IPC app will create and ipc-trace device for DSP1. No errors or problems up to this point. But If I look into this device (/dev/ipc-trace/DSP1) with the "cat" command, only the first few lines are visible whereas in ROV View - SysMin the entire log is visible.
It seems to me that the buffer / log device is limited or it will not be triggered anymore. If I comment out some messages - for example 3 messages - , the next 3 messages are visible.
Here is a snippet of my config file:
/* system logger */
var LoggerSys = xdc.useModule('xdc.runtime.LoggerSys');
var LoggerSysParams = new LoggerSys.Params();
var Defaults = xdc.useModule('xdc.runtime.Defaults');
Defaults.common$.logger = LoggerSys.create(LoggerSysParams);
/* enable runtime Diags_setMask() for non-XDC spec'd modules */
var Diags = xdc.useModule('xdc.runtime.Diags');
Diags.setMaskEnabled = true;
/* override diags mask for selected modules */
var Main = xdc.useModule('xdc.runtime.Main');
Diags.setMaskMeta("xdc.runtime.Main",
Diags.ENTRY | Diags.EXIT | Diags.INFO, Diags.RUNTIME_ON);
var Registry = xdc.useModule('xdc.runtime.Registry');
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
Registry.common$.diags_LIFECYCLE = Diags.RUNTIME_OFF;
Registry.common$.diags_STATUS = Diags.RUNTIME_OFF;
Main.common$.diags_ASSERT = Diags.ALWAYS_ON;
Main.common$.diags_INTERNAL = Diags.ALWAYS_ON;
/*
* ======== End Instrumentation Configuration ========
*/
/* Use SysMin because trace buffer address is required for Linux/QNX
* trace debug driver, plus provides better performance.
*/
var System = xdc.useModule('xdc.runtime.System');
var SysMin = xdc.useModule('ti.trace.SysMin');
System.SupportProxy = SysMin;
SysMin.bufSize = 0x8000;
Program.sectMap[".tracebuf"] = "TRACE_BUF";
Program.sectMap[".errorbuf"] = "EXC_DATA";
My log function is something like: Log_printX(Diags_INFO, msg, ...)
Can somebody explain this problem?
- Does the IPC module provide the opportunity to save the entire log in a file (to store the log on file system although ipc command is shutdown)?
- What about the -c argument of ipc command? In source code it seems that this option has not been implemented, yet.
- Which purpose has the trace daemon command which has a "-l"-argument for storing the log in a file, too?
Thanks for your help & best regards
Thomas