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.

RTOS/EK-TM4C1294XL: Need UIA header binary codes for debug Analyzer to produce live status data

Guru 56073 points
Part Number: EK-TM4C1294XL


Tool/software: TI-RTOS

Hello,

Recently posted this forum uipdated program codes for LoggerStreamer2 application buffer Priming and Exchange functions handling into UART0. Logging setup selections for diagnostics; (Task Load/HWi/Swi/Execution) events only seem to increase or reduce amount of binary data streaming via UART0 into virtual COM port. RTOS analyzer live session tab remains blank as does the CPU load and execution graphs. Anticipation of question; "Yes both ends of connection COM port baud rates are the same, 115200BPS." 

It is important to know what binary code is output as the UIA header (protocol) to confirm the application code is actually working properly.

  • You can look at UIAPacket.xdc to get the decoding for the UIAPacket Header.
    You can look at EventHr.xdc to get the decoding for the individual Log Record Header.

    Todd
  • Hi Todd,

    I don't want to decode the 4 Dword header but identify each long line by a repeating unique signature byte the header seems not to include. Perhaps live session is prone to dropping packets since the decoder can't easily sink UIA header packets to a repeating and unique data stream sync byte/s. All the UIA header seems to do is format the log data and it randomly changes binary data in the header relative to the recorded event log.
  • The buffers have the following format

    UIAPacket_Hdr
    Event_Hdr + Log record
    Event_Hdr + Log record
    Event_Hdr + Log record
    ...

    Note: The log record does not include ASCII. It's just values and pointers. For example if you did
    Log_print1(Diags_USER1, "%s example started.", "Stairstep");
    The log record would have a pointer to the "%s example started." string and the first argument would be the pointer to the "Stairstep" address.

    Todd
  • Exactly my point the UIA header is the format with no repeating synchronization byte such as 0x1ED8 or some other code pattern. The LS2 UART0 buffered data printed as ASCII data via Monitor has many recognizable high order characters similar to what UARTIdleLogger example produces yet analyzer Live Session remains blank. 

    When printed via Monitor they look like upside down spades producing analyzer live session data. The same can not be confirmed true using LoggerStreamer2 as nothing is ever displayed in the live session window no matter the frequency of log updates. That seems to confirm UART0 is not swamping the debug analyzer when being intentionally throttled back.  

    Just because LoggerStream2 may pass System_printf() log data that is not conclusive forensic evidence it can do the same via UART0 or any other transport. Perhaps a character translation issue but that should not occur with indirect memory addressing of a storage array using (char) to Prime/Exchange the buffer contents. Perhaps the LoggerStreamer2 diagnostic logger UIA header is not in the proper format?

  • UIAPacket_Hdr
    Event_Hdr + Log record
    Event_Hdr + Log record
    Event_Hdr + Log record

    My read of the two XDC module is the UIA header is the format for the actual log record, it is not an identifier. The UIA text incorrectly calls it a header when it seemingly is a (protocol) for data exchange.
  • System Analyzer looks for valid UIAPacket Headers to start decoding.

    What question are you wanting answered?
  • What HEX character is in the preamble or specific sync byte/s of a valid UIA packet header? The UIA header code seems to be a formatter of log data, not a static header packet identifier. When the RTSC LS2 documentation states the UIA hearer is added, that makes it sound like the header is only a generic packet identifier or signature. 

    Notice a lot of  0xF8, 0x88 being displayed but that may be FIFO gibberish.  One thought is the LS2 UIA header format may not be getting merged into the RTOS log data or its simply wrong. How would anybody know that if the UIA header or logging protocol does not have a synchronization preamble and or trailing postamble? Only the UIA software designer would be able to trouble shoot buffer failures of the protocol and everyone else left scratching head.

    This is task/CPU load logging, binary data prints out slowly. Execution logging HWi/SWi prints rapidly flooding the view widow. Yet Live Session view window remains blank either way.