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