OMAP L138
SYS/BIOS: 6_34_04_22
UIA: 1_03_00_02
Note 1: While trying to compile my code, I was advised by TI (Todd) to switch to UIA_1_02_00_07 (http://e2e.ti.com/support/embedded/tirtos/f/355/t/356220.aspx) but I decided to persist and commented out the offending function call to see how far I can get. ]
Hi
I am trying to get LoggerSM working on OMAP L138. I have modified my C code and .cfg file so that all logging is done via loggerSM module. I have configured the loggerSM to stored coded logs to the shared memory, which I they try to retrieve and store in a binary file. When I try to retrieve the logs using the LoggerSMDump utility, I get the following message:
> ./loggerSMDump.out -d 0x80000000 0xffff dsp myBinaryFile2.bin
LoggerSM_dumpSharedMem: Show status of all 1 partitions
partitionId = 0, addr = 0x80000000, headerTag = 0x14011938 [initialized]
version = 1, decode = 0, overwrite = 0x0
moduleId = 0x8052, instanceId = 0x1
buffer = 0x80000080, endPtr = 0x8000ff00
writePtr = 0x80000080, readPtr = 0x80000080
bufferSize = 0xfe80, droppedEvents = 0x0
Opened myBinaryFile2.bin to store encoded records
The console terminal just hangs after I execute loggerSMDump.out.
I can see in my .map file that a loggerSM section is created in the shared RAM "L3_CAB_RAM" at the expected address (0x80000000), but I dont know if any logs are actually being stored there or not.
In my C file, I am only calling Log_printfX( ), for example:
Log_print0(Diags_USER1, "--> main:");
I include the folloiwng files in my source code:
/* xdctools header files */
#include <xdc/std.h>
#include <xdc/runtime/Diags.h>
#include <xdc/runtime/Error.h>
#include <xdc/runtime/Log.h>
#include <xdc/runtime/System.h>
/* package header files */
#include <ti/ipc/Ipc.h>
#include <ti/ipc/MultiProc.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Task.h>
Below are the relevant parts of my cfg file:
/* set default diags mask */
var Diags = xdc.useModule('xdc.runtime.Diags');
var Defaults = xdc.useModule('xdc.runtime.Defaults');
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
Defaults.common$.diags_USER1 = Diags.ALWAYS_ON; /* FIXME #31 */
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
.
.
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
/* override diags mask for selected modules */
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;
/* service manager (for data xfer b/w host and master core) */
var ServiceMgr = xdc.useModule('ti.uia.runtime.ServiceMgr');
ServiceMgr.topology = ServiceMgr.Topology_MULTICORE;
ServiceMgr.masterProcId = 0;
ServiceMgr.transportType = ServiceMgr.TransportType_FILE;
ServiceMgr.periodInMs = 200;
/* sys/bios load logging (disabled) */
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
LoggingSetup.loadLogging = false;
/* sys/bios event logging for hwi, swi, tasks and main logging (all disabled)
LoggingSetup.sysbiosTaskLogging = false;
LoggingSetup.sysbiosSwiLogging = false;
LoggingSetup.sysbiosHwiLogging = false;
LoggingSetup.mainLogging = false;
var LoggerSM = xdc.useModule('ti.uia.runtime.LoggerSM');
var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
LoggerSM.sharedMemorySize = 0xFFFF;
LoggerSM.numPartitions = 1;
LoggerSM.partitionId = MultiProc.id;
LoggerSM.bufSection = ".loggerSM";
LoggerSM.decode = false;
var logger = LoggerSM.create();
LoggingSetup.loadLogger = logger;
LoggingSetup.mainLogger = logger;
LoggingSetup.sysbiosLogger = logger;
Defaults.common$.logger = LoggerSM.create();
I would really appreciate any help.
Thanks