Search code examples
trace32lauterbach

How to force a connection to a PowerDebug which is already in use?


In some cases, the Trace32 may hang, or may be closed while the target core is still running. This leads to the following screen when trying to reopen the Trace32 GUI:

Reset and connect?

Is there any way to force a "Reset and connect" (choose "Yes" in the popup) using the command-line, without requiring human interaction?


Solution

  • Short answer:

    add the line CONNECTIONMODE=AUTOCONNECT to the PBI= section of you TRACE32 configuration file (usually "config.t32") E.g.:

    PBI=
    USB
    CONNECTIONMODE=AUTOCONNECT
    

    Note: The block starting with PBI= must be embraced by empty lines, while there mustn't be empty lines within the block.

    Detailed answer:

    If you see that dialog box one of the following has happened:

    1. You have started a second TRACE32 for an AMP multicore scenario, but the second GUI wasn't configured with CORE=2 or the first GUI wasn't configure for CORE=1.
    2. You've started TRACE32, while another TRACE32 GUI is still exclusively connected to the same PowerDebug box.
    3. You've started TRACE32, after the process or a TRACE32 GUI was killed (process removed from execution without proper closing the application).
    4. You've started TRACE32, after a previous TRACE32 GUI crashed.

    So in general you shouldn't see the dialog box and something went wrong, when it happened.

    • In case of issue 1 & 2 you should click NO, solve the issue as described below and then try it again. If you click YES, you will crash the already running TRACE32 GUI.
    • In case of issue 3 & 4 you could safely click YES, but anyway you should ensure that TRACE32 gets normally not killed (and crashes should be fixed by the Lauterbach support, I guess)

    If you want TRACE32 to automatically "click" NO, to immediately close the new TRACE32 session, use the statement CONNECTIONMODE=AUTOABORT in the PBI= section of your TRACE32 configuration file (usually "config.t32"). (See also /pdf/installation.pdf)

    If you want TRACE32 to automatically "click" YES, to force connection to the PowerDebug box by resetting it, use the statement CONNECTIONMODE=AUTOCONNECT in the PBI= section of your TRACE32 configuration file (usually "config.t32"). (See also /pdf/installation.pdf)

    You can set this also in T32start, if you connect to you PowerDebug via Ethernet (e.g. PowerDebug PRO):

    enter image description here

    Note: In T32Start, this setting is only available if you connect to a PowerDebug via Ethernet (e.g. PowerDebug PRO). The setting CONNECTIONMODE=AUTOCONNECT/AUTOABORT works also with USB, but there, you have to add it manually to your TRACE32 configuration file.

    And here is how to avoid the dialog box:

    Case 1 "You have started a second TRACE32 for an AMP multicore scenario..."

    For AMP multicore debugging with one TRACE32 GUI per core, please ensure that you setup a proper AMP scenario: Add the line CORE=n to the PBI= section of you TRACE32 configuration file (usually "config.t32"), where n must be 1 for the 1st GUI, 2 for the 2nd GUI, 3 for the 3rd GUI,... If you starting TRACE32 via T32start.exe you have to set it up like that:

    enter image description here

    Case 2 "Another TRACE32 GUI is still exclusively connected to the same PowerDebug box"

    Before starting a new TRACE32 GUI connecting to a PowerDebug box, please ensure to close all other TRACE32 GUIs you've started before (for the same box). You can do this from a system shell via t32rem.exe, if you know the remote-API port of the other GUI: t32rem localhost port=<API-port-of-GUI> QUIT (See also How to start and close Trace32 instances from t32start command line interface? on more details how to do that)