FAQs for API for Remote Control

The embedded tools company

Search FAQs

PDF document ( 133KB / 15-Apr-2022 )

How to remotely control TRACE32 PowerView?
Ref: 0514

There are three ways to control TRACE32 PowerView remotely:
  • Using the TRACE32 Remote API.
    To launch some scripts or execute some simple commands from a bash shell, you can use the command line tool t32rem from the <T32>/bin/<os> folder. This tool uses the TRACE32 Remote API to send TRACE32 commands to open TRACE32 GUIs.
    For more complex remote control of TRACE32 (e.g. from a Python script) you should have a look at "API for Remote Control and JTAG Access" and "Controlling TRACE32 via Python 3". and the examples at <t32>/demo/api.
  • TRACE32 PowerView implements a GDB stub functionality. This provides an interface to any application using the GDB Remote Serial Protocol (RSP) to control TRACE32 PowerView via TCP or UDP.
  • Using the Target Communication Framework (TCF), which can be used to access the TRACE32 debug functionality from within Eclipse.
Please refer for more information to the following documents:

Is it possible to check the progress of the execution of a TRACE32 command through the Remote API?
Ref: 0458

There is no function in the Remote API that can check the progress of the execution of a TRACE32 command. You can however call the command within a PRACTICE script and check the execution state of the script using T32_GetPracticeState().

T32_Init() returns -1
Ref: 0582

Be sure that the API port is configured in the config file. This can be done using the command "PRINT RCL.PORT(0)" or by visualizing the config file Help -> About TRACE32 -> Edit.

In the config file, you should find the RCL block (UDP)
or (TCP)
Sometimes, adding T32_Exit before T32_Init can fix the problem, in case an old connection was not properly closed.

The execution time of the LINE_Receive() function is too long. What is the purpose of this function. Is it possible to reduce the execution time?
Ref: 0581

LINE_Receive() is the essential function within the API, used by every function that communicates with TRACE32 PowerView.

LINE_Transmit() sends the request to TRACE32, while LINE_Receive() receives the answer. The function itself does not have a long execution time. The long time results in the waiting for the answer from TRACE32 PowerView. A long time can be caused by several reasons. In most cases, the time is simply the execution time of the command - e.g. if the command within T32_Cmd() takes a lot of time you will end up having this time in LINE_Receive, too.

Very high computing load of the PC running TRACE32 PowerView, or network time if client and TRACE32 PowerView are not running on the same PC could also be the reason of such delays. 

Copyright © 2023 Lauterbach GmbH, Altlaufstr.40, 85635 Höhenkirchen-Siegertsbrunn, Germany   Impressum     Privacy Policy
The information presented is intended to give overview information only.
Changes and technical enhancements or modifications can be made without notice. Report Errors
Last generated/modified: 02-Jan-2023