Runtime Trace Collection

Software traces are inserted into the same storage path as the hardware traces and receive a timestamp using the same timer/counter as hardware traces. This single trace data stream is buffered in the hardware system and accessed over JTAG by the host PC.

In the SDSoC environment, traces are read back constantly as the program executes attempting to empty the hardware buffer as quickly as possible and prevent buffer overflow. However, trace data is only displayed when the application is finished. In a future release, the real-time data will be displayed as it is captured.

The board connection requirements are slightly different depending on the operating system (standalone, FreeRTOS, or Linux). For standalone and FreeRTOS, the user program ELF is downloaded to the board using the USB/JTAG interface. Trace data is read out over the same USB/JTAG interface as well.

For Linux, the SDSoC environment assumes the OS boots from the SD card. The ELF is then copied and run using the TCP/TCF agent running in Linux over the Ethernet connection between the board and host PC. The trace data is read out over the USB/JTAG interface. Both USB/JTAG and TCP/TCF agent interfaces are needed for tracing Linux applications. The figure below shows the connections required.

Figure: Connections Required When Using Trace with Different Operating Systems