TRACE32 Arm Executable Consolidation
Consolidation of the TRACE32 Arm Debugger Executables into "t32marm" & Deprecation of "t32marm64"
The TRACE32 debugger executables for the Arm architecture have been consolidated. This allows users to debug and trace all Arm based chip variants in one executable. That also means it is no longer necessary to deal with different executables for 32-bit or 64-bit Arm cores. The single, consolidated executable is the already known t32marm.
With only one executable required, the former executable for 64-bit Arm cores t32marm64 is now treated as deprecated and is replaced by a redirect mechanism.
Interim/Nightly release: N.2021.02.000131488
The roll out of the consolidated Arm executable started on 10th February 2021 with software version N.2021.02.000131488.
Customers that had received interim updates with software versions N.2020.11.000128010 till N.2021.02.000131422 (4th November 2020 till 9th February 2021) have already received a preview of the consolidated executable. For these software versions, the Arm debugger executable had already been consolidated and both executables, t32marm and t32marm64, were functionally equivalent.
DVD release: 2021/02
The first DVD release that contains the consolidated Arm executable is 2021/02.
As calls to the deprecated t32marm64 executable will result in a redirect to the new consolidated t32marm executable, it is expected that most users will not see any changes in their start environment.
An exception are Windows users with advanced start environments as well as MacOS users which directly access the t32marm64.app bundle. Such users might be forced to adjust their environment immediately. See section "Detailed Changes" for more information.
Lauterbach strongly encourages users to adapt their existing environments even if their current start environment is not directly affected by these new changes. That is to ensure that their start environment stays completely compatible with future versions of TRACE32. Lauterbach will stop distributing the t32marm64 redirect mechanism in the future after a separate period of notice.
New projects should only make use of the new t32marm as the single, consolidated executable for all Arm based chips.
1) Windows users referencing t32marm64.exe will now start the redirecting t32marm64.exe which will automatically call t32marm.exe and forward any command line parameters. During the redirect operation, a command prompt might be visible for a short moment.
2) Windows t32marm64.exe redirect limitations
3) Users of T32Start have to make sure that their version of T32Start is V2.5.4 or higher (versions from 4th February 2021 or later). The latest version of T32Start should always be part of any TRACE32 update for Windows. Users will then be able to continue to work with their existing start configurations. T32Start will try to automatically detect and start the correct executable, independent of the Target: entry of the selected core configuration. Lauterbach still strongly encourages users to adapt their existing T32Start environments to stay completely compatible with future versions of TRACE32.
Linux users referencing t32marm64 will now get a warning printed into the shell and the starting call is redirected to start t32marm.
1) MacOS users referencing the provided shell script t32marm64-qt will now get a warning printed into the shell and the starting call is redirected to start t32marm-qt.
2) The bundle t32marm64-qt.app is no longer distributed in TRACE32 updates.
PRACTICE Function: OS.PresentExecutableFile() (OS.PEF())
As the new TRACE32 start environment for Arm always tries to call the executable t32marm, the PRACTICE function OS.PEF() will therefore also only return the execution path to t32marm. PRACTICE scripts that rely on the output of OS.PEF() for the purpose of differentiating between script execution paths for 32- and 64-bit cores need to be adjusted. A possible solution are script parameters.
How to Adjust and Future Proof your TRACE32 Arm Start Environment
To adjust and future proof your Arm start environment, references to the old t32marm64 executable have to be exchanged with references to the new t32marm executable.
If you use t32start.exe to start your 64-bit Arm core environment, make sure the version of T32Start is V2.5.4 or higher (versions from 4th February 2021 or later).
The latest version of T32Start should always be part of any TRACE32 update for Windows.
If you start t32marm64.exe via a script or directly via the command prompt, you need to start one of the following executables depending on your Windows version. They are found in your TRACE32 installation directory:
If you start t32marm64 via a script or directly via the shell, you have to start the following executable, found in your TRACE32 installation directory:
If you start t32marm64-qt via the provided shell script, you have to call the following script, found in your TRACE32 installation directory:
If you reference the bundle t32marm64-qt.app directly, you now need to reference the following bundle, found in your TRACE32 installation directory:
Troubleshooting & FAQ
"I am using the PRACTICE command "TargetSystem.NewInstance" to start additional GUIs"
The command will continue to work regardless of the given /ARCHitecture option. Both command options to start additional Arm GUIs, /ARCHitecture ARM and /ARCHitecture ARM64, will automatically start the new consolidated GUI.
Command Line Parameters
Regardless whether you call the t32marm64.exe redirect executable or the functional consolidated t32marm.exe executable, all command line parameters will continue to work
I get the following message: "t32marm64 was replaced by a new consolidated t32marm"
If you see the above message you are trying to start the old t32marm64 executable which was replaced by a redirect mechanism. See "How to Adjust and Future Proof your TRACE32 Arm Start Environment" for details on how to avoid the warning.
On Windows, I get the following message box containing: "Failed to redirect to executable: 't32marm.exe'"
"I cannot change my start environment and I am unable to use the provided redirect mechanism"
If you are unable to change your start environment and cannot make use of the provided redirect mechanism, you can apply the following workaround: When receiving a TRACE32 update, you can copy and rename the t32marm executable for the used OS into t32marm64 and overwrite the provided redirect mechanism. By this, a functional t32marm64 executable is available again.
Please Note: Lauterbach strongly discourages the usage of this workaround if the start environment can be changed. The workaround has to be applied for each TRACE32 update and also contradicts Lauterbach's official deployment method.
Copyright © 2023 Lauterbach GmbH, Altlaufstr.40, 85635 Höhenkirchen-Siegertsbrunn, Germany
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