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.

SYS/BIOS - None-Jtag data transfer

Guru 10750 points
Other Parts Discussed in Thread: OMAP-L138

Hi,

Is there a way to transfer the SYS/BIOS Logs, Errors using one of the device interface (not via the Jtag)?

Many Thanks,

HR

  • Hi,

    OK, There is a function hook for the SYS/BIOS Error, Is there something the same for the Logs?

    Thanks,

    HR

  • HR,

    You can override the System provider’s (e.g., SysMin’s) output function to send data to a specific output port, for example.

    Which device are you running on?  And which versions of SYS/BIOS and XDCtools?

    Scott

  • Scott,

    I'm using the OMAP-L138, SYS/BIOS-6.33.5.46, XDCtools-3.23.2.47,

    Thanks,

    HR

  • HR,

    OK, thanks.  I searched and didn’t find anything to point you to directly.

    One way to get the Log records output without JTAG is to…
    1) use the LoggerSys logger to direct Log data to System_printf()
    2) select the SysMin System provider to buffer the System_printf() data
    3) override SysMin’s output function with your own I/O function
    4) call SysMin_flush() at runtime to flush the buffered data to your I/O function

    For example, in your configuration:

    // configure Logging
    var Defaults = xdc.useModule('xdc.runtime.Defaults');
    var Log = xdc.useModule('xdc.runtime.Log');
    var LoggerSys = xdc.useModule('xdc.runtime.LoggerSys');

    var LoggerSysParams = new LoggerSys.Params;
    var myLogger = LoggerSys.create(LoggerSysParams);
    Defaults.common$.logger = myLogger;

    // configure system provider
    var System = xdc.useModule('xdc.runtime.System');
    var SysMin = xdc.useModule('xdc.runtime.SysMin');
    SysMin.outputFxn = “&myOutputFxn”;

    In your C code call SysMin_flush() when you want the Log records buffered in SysMin to be flushed to your output routine:

        Log_info2("x = %d, y = %d", x, y);
        …
        SysMin_flush();

    This is one way to do it, there may be better ways that others on the forum can chip in with.

    If you haven’t seen it, here is a detailed description of the Logging mechanisms: http://rtsc.eclipse.org/docs-tip/Using_xdc.runtime_Logging#Examples

    Scott

  • Scott,

    Great ! Thanks,

    HR