TCF Profiling - 2023.2 English

Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400)

Document ID
Release Date
2023.2 English

The TCF profiler supports profiling of both standalone and Linux applications. TCF profiling does not require any additional compiler flags to be set while building the application. Profiling standalone applications over JTAG is based on sampling the Program Counter through debug interface. It does not alter the program execution flow and is non-intrusive when stack trace is not enabled. When stack trace is enabled, program execution speed decreases as the debugger has to collect stack trace information.

  1. Start the Vitis Unified IDE and select the application component you wish to profile.
  2. Go to the Flow Navigator and create a debug launch configuration.
    Note: Refer to Launch Configurations and Creating a New Target Connection to create a debug launch configuration.
    Note: Regarding the target connection, if the application component is a Linux application, select the TCF agent. If it a standalone application, select HW server.
  3. After configuration is finished, click Debug to start the debug session.
    Note: Refer to Starting Debug to start the debug session.
  4. Click the TCF Profiler button to start profiling view.
  5. Click the Start button to begin the profiling. Select the Enable stack tracing option to show the stack trace for each address in the sample data. You can also set the frame count and update the interval according to your requirements.
    • Specify the Max stack frames count for the maximum number of frames that are shown in the stack trace view.
    • Specify the View update interval for the time interval (in milliseconds) the TCF profiler view is updated with the new results. Ensure that this is different from the interval at which the profile samples are collected.
  6. Click Start to profiling.
  7. Click Continue to free run the application.
  8. You can now retrieve the profiling information of your application component. The profiling data is displayed:
    • Clicking the function in the profiler view displays the Called From and Child Calls in the bottom right corner of the Profiler view.
    • The view supports cross-probe between the function name and source code. Clicking the function jumps to the source code in the Source Code view.