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.

The mechanism behind LoggerBuf

Hi,

What is the mechanism behind LoggerBuf? It stores the logs in some kind of linked list in the memory. But what happens with them afterwards? How are the logs transferred to CCS through JTAG?

Regards,
Vasili

  • Vasil,

    Yes, the LoggerBuf records are uploaded to CCS through the JTAG interface.

    The transfer occurs when the user opens either the RTOS Object View (ROV) tool or the RTOS  Analyzer tool.

    Alan

  • Hi Alan,

    Can you please provide more details of how this works exactly?

    Does the PC side pull it or the firmware uses some code to push? If so, how does it do that? Does PC side just accesses the RAM and reads or is there any additional mechanism? How are messages that already transferred removed from the buffer?

    If PC just accesses the RAM, doesn't it have to stop the firmware for that? Does this mean that logging doesn't work until I pause execution?

    Is Instrumentation Trace Macrocell (ITM) used for ARM processors?

    I'm asking because I have recompiled the code with newer gcc and something got broken. I would like to debug what.

    Regards,
    Vasili

  • LoggerBuf writes into an internal buffer. It stores the following

    - timestamp
    - serial number (really it's a sequence number)
    - Log event
    - N number of arguments

    Note: strings are not stored, only addresses.

    There are two ways CCS can get the records.

    1. stopmode: CCS can display the records via two ways when the target is halted. In both RTA and ROV, CCS reads the internal buffer and gets all the data. It then parses the .out to display a readable form of the Log records

    2. Realtime: If you use the SYS/BIOS RTA Agent, Log records are sent to CCS via RTDX from a low priority task. Please note, we do not support RTDX anymore and generally discourage this approach. 

    Another option is to use UIA on the target and System Analyzer in CCS.

    I'm not sure about ITM. You might want to to ping the CCS forum.

    Todd