TRACE32 as GDB Front-End
TRACE32 Online Help
TRACE32 Directory
TRACE32 Index
TRACE32 Documents ......................................................................................................................
GDB Support ..................................................................................................................................
TRACE32 as GDB Front-End ..................................................................................................... 1
Operation Theory .................................................................................................................... 3
GDB Server .............................................................................................................................. 3
Starting TRACE32 ................................................................................................................... 3
Quick Start of the TRACE32 GDB Front-end 5
Troubleshooting ...................................................................................................................... 7
FAQ ........................................................................................................................................... 7
Background ............................................................................................................................. 8
Multi Process Debugging 8
Space ID 8
GDB Front-end Commands .................................................................................................... 9
SYStem.CPU Select target CPU 9
SYStem.Mode Establish communication to debug agent 9
SYStem.CpuAccess Run-time memory access (intrusive) 10
SYStem.Option BigEndian Define byte order (endianness) 10
SYStem.Option DisMode Define disassembler mode 11
SYStem.Option MMUSPACES Enable space IDs 11
SYStem.GDBconfig EXTENDED Enable/disable gdb extended mode 12
SYStem.GDBconfig GDBSERVER Remote target is a gdbserver 12
SYStem.GDBconfig NONSTOP Enable/disable non-stop mode 13
SYStem.PORT Set communication settings 13
SYStem.GDBFILE Set the name of the debugged application 14
SYStem.GDBLibPath Set the path to the target libraries on the host 14
SYStem.GDBSIGnal Define signal handling 14
TASK.List.tasks List the running processes on the target 15
TASK.SELect Select a task for debugging 15
TASK.RUN Start a new process 15
TASK.KILL Kill a running process 15
TASK.Attach Attach to a running process 16
TASK.DETACH Detach from a a running process 16
TASK.COPYUP Copy a file from the target into the host 16
TRACE32 as GDB Front-End 1 ©1989-2017 Lauterbach GmbH
TASK.COPYDOWN Copy a file from the host into the target 16
TASK.Go Start a single task 16
TASK.Break Stop a single task 17
Support ..................................................................................................................................... 18
Compiler 18
ARM 18
I386 19
MIPS 19
PPC 20
XScale 21
Products ................................................................................................................................... 22
Product Information 22
Order Information 23
TRACE32 as GDB Front-End 2 ©1989-2017 Lauterbach GmbH
TRACE32 as GDB Front-End
Version 06-Nov-2017
04-Aug-17 Updated the description of the command SYStem.GDBconfig GDBSERVER.
23-Dec-16 Added description of the new SYStem.GDBconfig commands.
23-Dec-16 Set commands SYStem.Option gdbEXTENDED and SYStem.Option gdbNONSTOP to deprecated.
23-Dec-16 Added known issues and special recommendations when debugging multi-thread application in non-stop mode.
Operation Theory
The TRACE32 GDB front-end is a software debugger solution which communicates with a gdbserver/gdbstub or any other application using the Remote Serial Protocol (RSP) over ethernet or RS232.
GDB Server
The gdbserver is a small program provided by GNU, which allows you to debug an application on a remote machine. The gdbserver can start a new process or attach to a running one and provide debugging functionality using mechanisms provided by the operating system as the Process Trace (ptrace) for Linux.
It is recommended to use gdbserver version 6.2 or newer. Some of the functionality described in this manual as multi-process debugging and non-stop mode are only supported with gdbserver version 7.1 or newer. To get your gdbserver version, type in the terminal
If nothing is printed, then your gdbserver has a version older than 6.2.
Starting TRACE32
To start TRACE32 as GDB front-end, edit your config.t32 file and insert the statement:
gdbserver --version
PBI=GDB
TRACE32 as GDB Front-End 3 ©1989-2017 Lauterbach GmbH
A typical TRACE32 GDB front-end configuration file in a windows environment looks similar to this (please take care of the blank lines!):
PBI=GDB
OS=SYS=.TMP=.
SCREEN=FONT=SMALL
; Printer settings PRINTER=WINDOWS
TRACE32 as GDB Front-End 4 ©1989-2017 Lauterbach GmbH
Quick Start of the TRACE32 GDB Front-end
The TRACE32 GDB front-end is set up as follows:
1. Start the gdbserver :
COMM may be either a serial port (e.g. /dev/ttyS0 or COM1) or a TCP connection (HOST:PORT).
Using the --attach option, the gdbserver attaches to the process with the ID PID.
The --multi option start the gdbserver in multi-process mode. This option is not supported by all gdbserver versions.
2. Start TRACE32 as a GDB Front-End.
3. Inform the debugger about the CPU type on your target.
4. Define the communication parameters in TRACE32:
or:
Usage: gdbserver [OPTIONS] COMM PROG [ARGS ...] gdbserver [OPTIONS] --attach COMM PID gdbserver [OPTIONS] --multi COMM
SYStem.CPU ARM920
SYStem.PORT COM1 baud=9600
SYStem.PORT target_ip:port
TRACE32 as GDB Front-End 5 ©1989-2017 Lauterbach GmbH
5. If using the gdbserver in muti process mode, enable MMUSPACES. Processes of Linux may reside virtually on the same address. To distinguish those addresses, a debugger uses an additional space ID, that specifies, to which virtual memory space an address refers. The following command enables this additional space ID.
For more information on the space ID refer to the chapter Space ID.
6. Establish the communication to the gdbserver:
A typical start sequence is shown below (connection via TCP)
Single process mode:
Multi process mode:
The start up can be automated by using the programming language PRACTICE.
SYStem.Option MMUSPACES ON
SYStem.Mode Attach
SYStem.DownWinCLEARSYStem.CPU ARM920SYStem.PORT 10.1.2.99:2345SYStem.Mode AttachData.LOAD.ELF sieve /NoCODEGo mainListENDDO
; switch the debugger to down state; clear all windows; select your target CPU; define communication parameters; connect to gdbserver; load the process symbols; enter the process; open source code window
SYStem.DownWinCLEARSYStem.CPU ARM920SYStem.PORT 10.1.2.99:2345SYStem.Option MMUSPACES ONSYStem.Mode AttachTASK.List.tasksTASK.RUN /bin/sieveData.LOAD 0x2bd:0 sieve /NoCODE
Go mainListENDDO
; switch the debugger to down state; clear all windows; select your target CPU; define communication parameters; enable MMUSPACES; connect to gdbserver; View the list of processes; Start process sieve; Load sieve symbols where 0x2bd is ; the space ID of the process sieve; enter the process; open source code window
TRACE32 as GDB Front-End 6 ©1989-2017 Lauterbach GmbH
Troubleshooting
No information available until yet.
FAQ
No information available
TRACE32 as GDB Front-End 7 ©1989-2017 Lauterbach GmbH
Background
Multi Process Debugging
Space ID
Processes of Linux may reside virtually on the same addresses. To distinguish those addresses, the debugger uses an additional space ID, that specifies, to which virtual memory space an address refers. The space ID is equal to the process ID.
The command SYStem.Option MMU ON enables the additional space ID.
A source code listing for the process helloloop is displayed as follows:
A breakpoint to main in the process helloloop can be set with one of the following commands:
Please be aware, that process-specific breakpoints are set, as soon as the process is started by Go.
Break.Set \\helloloop\global\main
Break.Set 0x91:0x83d4
Break.Set 145.:0x83d4
Space ID
Space ID
TRACE32 as GDB Front-End 8 ©1989-2017 Lauterbach GmbH
GDB Front-end Commands
SYStem.CPU Select target CPU
Selects the processor type.
SYStem.Mode Establish communication to debug agent
Default: Down
If you switch from Up to Down:
• The processes currently debugged are killed and the connection is cut. If extended mode is disabled, the gdbserver is also terminated, otherwise, the gdbserver waits for a new connection.
Format: SYStem.CPU <type>
Format: SYStem.Mode <mode>
<mode>: DownAttachUp
Down TRACE32 has no connection to gdbserver.
Attach TRACE32 establishes the connection to gdbserver.
Up TRACE32 is connected to gdbserver.(Don´t use Up to establish the connection!)
TRACE32 as GDB Front-End 9 ©1989-2017 Lauterbach GmbH
SYStem.CpuAccess Run-time memory access (intrusive)
Default: Denied.
If SYStem.CpuAccess Enable is set, it is possible to read from memory, to write to memory and to set software breakpoints while the CPU is executing the program. To make this possible, the program execution is shortly stopped by the debugger. A red S in the state line of the TRACE32 main window warns you that the program is no longer running in real-time.
If specific windows, that display memory or variables should be updated while the program is running select the memory class E: or the format option %E.
SYStem.Option BigEndian Define byte order (endianness)
Default: OFF.
This option selects the byte ordering mechanism.
Format: SYStem.CpuAccess Enable | Denied | Nonstop
Enable Allow intrusive run-time memory access.
Denied Lock intrusive run-time memory access.
Nonstop Lock all features of the debugger that affect the run-time behavior.
Data.dump E:0x100
Var.View %E first
Format: SYStem.Option BigEndian [ON | OFF]
TRACE32 as GDB Front-End 10 ©1989-2017 Lauterbach GmbH
SYStem.Option DisMode Define disassembler mode
This command specifies the selected disassembler. Different options are available depending on the used architecture. Please refer to your Processor Architecture Manual (e.g. debugger_arm.pdf for ARM) for more details.
SYStem.Option MMUSPACES Enable space IDs
Default: OFF.
Enables the use of space IDs for logical addresses to support multiple address spaces. A space ID is a 16-bit memory space identifier which extends a logical TRACE32 address. With space IDs, TRACE32 can handle multiple address spaces in the debugger address translation.
Space IDs are defined within a loaded TRACE32 OS awareness extension. Often, space IDs are directly derived from the OS process ID. Be aware that this depends on the OS and the loaded awareness extension.
Format: SYStem.Option DisMode <option>
AUTO The information provided by the compiler output file is used for the disassembler selection. If no information is available it has the same behavior as the option ACCESS.
Format: SYStem.Option MMUSPACES [ON | OFF]SYStem.Option MMUspaces [ON | OFF] (deprecated)SYStem.Option MMU [ON | OFF] (deprecated)
NOTE: SYStem.Option MMUSPACES should not be used if only one translation table is used on the target.
If a debug session requires space IDs, you must observe the following sequence of steps:
1. Activate SYStem.Option MMUSPACES.
2. Load the symbols with Data.LOAD.
Otherwise, the internal symbol database of TRACE32 may become inconsistent.
TRACE32 as GDB Front-End 11 ©1989-2017 Lauterbach GmbH
Examples:
SYStem.GDBconfig EXTENDED Enable/disable gdb extended mode
Default: OFF
SYStem.GDBconfig GDBSERVER Remote target is a gdbserver
Default: AUTO
The TRACE32 GDB Front-end operates in two different modes: Run Mode or Stop Mode.
When Run Mode Debugging is used, a breakpoint stops the selected process only. The kernel and all the other processes continue to run. This is typically the case of the GNU gdbserver. In that case the configuration SYStem.GDBconfig GDBSERVER must be switched ON.
In stop mode debugging, a breakpoint will cause the target system to stop completely. Only the gdb-stub is kept running in order to communicate with the remote debugger. This is typically the case when using TRACE32 GDB Front-end to debug Qemu, or any other virtual target. In that case the configuration SYStem.GDBconfig GDBSERVER must be switched OFF.
If the remote target is a gdbserver than a single program may have more than one unit of execution called threads that shares one address space but each has its own registers and execution stack. The debugger get and display the information about the running tasks from the gdbserver by using the dedicated remote serial protocol packets.
;Dump logical address 0xC00208A belonging to memory space with ;space ID 0x012A:Data.dump D:0x012A:0xC00208A
;Dump logical address 0xC00208A belonging to memory space with ;space ID 0x0203:Data.dump D:0x0203:0xC00208A
Format: SYStem.GDBconfig EXTENDED ON | OFFSYStem.Option GDBEXTENDED ON | OFF (deprecated)
Format: SYStem.GDBconfig GDBSERVER ON | OFF | AUTO
TRACE32 as GDB Front-End 12 ©1989-2017 Lauterbach GmbH
For the stop mode, in order to support multi-core debugging, each core is considered as a thread. Then, all the commands that are defined in the remote serial protocol to handle threads are used for core handling. The debugger rely on the OS awareness extension to get and display the information about the running tasks.
SYStem.GDBconfig NONSTOP Enable/disable non-stop mode
Default: OFF
Enabling non-stop mode is only possible with gdbserver. Thus SYStem.GDBconfig NONSTOP ON will automatically set SYStem.GDBconfig GDBSERVER ON
SYStem.PORT Set communication settings
NOTE: For backward compatibility reasons, TRACE32 GDB Front-end tries to detect what kind of remote target is used, but it is recommended to explicitly set SYStem.GDBconfig GDBSERVER ON/OFF depending on the use case.
Format: SYStem.GDBconfig NONSTOP ON | OFFSYStem.Option GDBNONSTOP ON | OFF (deprecated)
NOTE: Non-stop mode is supported for multi-thread debugging with the following known limitations: • Resuming from a breakpoint is not supported for non-current threads.• For Intel x86/x64 architecture, if a non-current thread hits a breakpoint, a
program counter alignment issue could occur.Thus, it is always recommended to focus on debugging only one thread (current thread) at a given time.
Format: SYStem.PORT <settings>
<settings>: COM1 BAUD=9600HOST:PORT
TRACE32 as GDB Front-End 13 ©1989-2017 Lauterbach GmbH
Sets the communication parameters. You can use a serial or a TCP communication.
SYStem.GDBFILE Set the name of the debugged application
SYStem.GDBLibPath Set the path to the target libraries on the host
SYStem.GDBSIGnal Define signal handling
Defines the gdbserver/TRACE32 behavior when the application sends the signal signum.
SYStem.PORT COM1 baud=9600
SYStem.PORT 10.1.2.99:2345
Format: SYStem.GDBFILE <name> (deprecated)
Format: SYStem.GDBLibPath <path> (deprecated)
Format: SYStem.GDBSIGnal <mode> <signum>
<mode>: STOP | NOSTOP | PASS | NOPASS | PRINT | NOPRINT
<signum> Signal number
NOPASS Do not allow the program to see this signal.
NOPRINT No message is printed.
NOSTOP The signal is ignored and the application continue running.
PASS Allow the program to see this signal; the program can handle the signal, or else it may terminate if the signal is fatal and not handled.
PRINT A message is printed in the area window when the signal is received.
STOP The debugger should stop on this signal.
TRACE32 as GDB Front-End 14 ©1989-2017 Lauterbach GmbH
TASK.List.tasks List the running processes on the target
Only for multi-process mode. For more information about the command, see TASK.List.tasks.
TASK.SELect Select a task for debugging
Only for multi-process mode.
TASK.RUN Start a new process
Only for multi-process mode.
TASK.KILL Kill a running process
Only for multi-process mode.
Format: TASK.List.tasks
Format: TASK.SELect <id>
Format: TASK.RUN <process>
Format: TASK.KILL <id>
TRACE32 as GDB Front-End 15 ©1989-2017 Lauterbach GmbH
TASK.Attach Attach to a running process
Only for multi-process mode.
TASK.DETACH Detach from a a running process
Only for multi-process mode.
TASK.COPYUP Copy a file from the target into the host
TASK.COPYDOWN Copy a file from the host into the target
TASK.Go Start a single task
Only for multi-process mode.
Format: TASK.Attach <pid>
Format: TASK.DETACH <pid>
Format: TASK.COPYUP <targetfile> <file>
Format: TASK.COPYDOWN <file> <targetfile>
Format: TASK.Go <id>
TRACE32 as GDB Front-End 16 ©1989-2017 Lauterbach GmbH
TASK.Break Stop a single task
Only for multi-process mode.
Format: TASK.Break <id>
TRACE32 as GDB Front-End 17 ©1989-2017 Lauterbach GmbH
Support
Compiler
ARM
Language Compiler Company Option Comment
ADA GNAT PRO AdaCore ELF/DWARF not all ADA constructs/DWARF
C ARMCC ARM Ltd. AIFC ARMCC ARM Ltd. ELF/DWARFC REALVIEW-MDK ARM Ltd. ELF/DWARF2C GCCARM Free Software
Foundation, Inc.COFF/STABS
C GCCARM Free Software Foundation, Inc.
ELF/DWARF2
C GREENHILLS-C Greenhills Software Inc. ELF/DWARF2C ICCARM IAR Systems AB ELF/DWARF2C ICCV7-ARM Imagecraft Creations
Inc.ELF/DWARF ARM7
C CARM ARM Germany GmbH ELF/DWARFC HIGH-C Synopsys, Inc ELF/DWARFC TI-C Texas Instruments COFFC GNU-C Wind River Systems COFFC D-CC Wind River Systems ELFC++ ARM-SDT-2.50 ARM Ltd. ELF/DWARF2C++ REALVIEW-MDK ARM Ltd. ELF/DWARF2C++ GCCARM Free Software
Foundation, Inc.COFF/STABS
C++ GNU Free Software Foundation, Inc.
EXE/STABS
C++ GCCARM Free Software Foundation, Inc.
ELF/DWARF2
C++ GREENHILLS-C++ Greenhills Software Inc. ELF/DWARF2C++ MSVC Microsoft Corporation EXE/CV5 WindowsCEC++ HIGH-C++ Synopsys, Inc ELF/DWARFC/C++ GNAT PRO AdaCore ELF/DWARFC/C++ XCODE Apple Inc. Mach-OC/C++ GCC HighTec EDV-Systeme
GmbHELF/DWARF
C/C++ SOMNIUM DRT SOMNIUM Technologies Limited
ELF/DWARF
C/C++ VX-ARM TASKING ELF/DWARF2
TRACE32 as GDB Front-End 18 ©1989-2017 Lauterbach GmbH
I386
MIPS
Language Compiler Company Option Comment
C SCO-UNIX-CC COFFC GNU-C Free Software
Foundation, Inc.DBX
C GNU-C Free Software Foundation, Inc.
ELF/DWARF2
C GCC386 Greenhills Software Inc. COFFC IC386 Intel Corporation OMF-386C IC286 Intel Corporation OMF-286C MCC386 Mentor Graphics
CorporationEOMF-386
C MSVC-1.5 Microsoft Corporation EOMF-386 Pharlap ETSC MSVC Microsoft Corporation EXE/CVC MSVC Microsoft Corporation OMF-386/CV SSI Link386C MSVC/CSI Microsoft Corporation EOMF-386C HC386 Synopsys, Inc OMF386/SPFC HIGHC Synopsys, Inc ELF/DWARFC++ BORLAND-C Borland Software
CorporationEXE/BC5
C++ ORGANON CAD-UL ElectronicServices GmbH
OMF386++
C++ GNU-C++ Free Software Foundation, Inc.
DBX
C++ MSVC Microsoft Corporation EXE/CV4C++ HC386 Synopsys, Inc OMF/SPFC++ HIGH-C++ Synopsys, Inc ELF/DWARF
Language Compiler Company Option Comment
C TCC TASKING IEEEC++ GCC Free Software
Foundation, Inc.ELF/DWARF
C++ GREEN-HILLS-C++
Greenhills Software Inc. ELF/DWARF
C++ SDE Imagination Technologies
ELF/STABS
TRACE32 as GDB Front-End 19 ©1989-2017 Lauterbach GmbH
PPC
Language Compiler Company Option Comment
ADA GNAT PRO AdaCore ELF/DWARF not all ADA constructs/DWARF
ADA GNAT Free Software Foundation, Inc.
ELF/DWARF
C CXPPC Cosmic Software ELF/DWARFC XCC-V GAIO Technology Co.,
Ltd.SAUF
C GREEN-HILLS-C Greenhills Software Inc. ELF/DWARFC MCCPPC Mentor Graphics
CorporationELF/DWARF
C CC NXP Semiconductors XCOFFC ULTRA-C Radisys Inc. ROFC HIGH-C Synopsys, Inc ELF/DWARFC DCPPC TASKING ELF/DWARFC D-CC Wind River Systems IEEEC D-CC Wind River Systems COFFC D-CC Wind River Systems ELF/DWARFC++ GCC Free Software
Foundation, Inc.ELF/DWARF
C++ GREEN-HILLS-C++
Greenhills Software Inc. ELF/DWARF
C++ CCCPPC Mentor Graphics Corporation
ELF/DWARF
C++ MSVC Microsoft Corporation EXE/CV5 WindowsCEC++ HIGH-C++ Synopsys, Inc ELF/DWARFC++ D-C++ Wind River Systems ELF/DWARFC++ GCCPPC Wind River Systems ELF/STABSC/C++ GNAT PRO AdaCore ELF/DWARFC/C++ GCC HighTec EDV-Systeme
GmbHELF/DWARF
C/C++ CODEWARRIOR NXP Semiconductors ELF/DWARFGCC GCC Free Software
Foundation, Inc.ELF/DWARF
JAVA FASTJ Wind River Systems ELF/DWARF
TRACE32 as GDB Front-End 20 ©1989-2017 Lauterbach GmbH
XScale
Language Compiler Company Option Comment
C ARMCC ARM Ltd. AIFC ARMCC ARM Ltd. ELF/DWARFC GCCARM Free Software
Foundation, Inc.COFF/STABS
C GCCARM Free Software Foundation, Inc.
ELF/DWARF2
C GREENHILLS-C Greenhills Software Inc. ELF/DWARF2C ICCARM IAR Systems AB ELF/DWARF2C HIGH-C Synopsys, Inc ELF/DWARFC TI-C Texas Instruments COFFC GNU-C Wind River Systems COFFC++ ARM-SDT-2.50 ARM Ltd. ELF/DWARF2C++ GCCARM Free Software
Foundation, Inc.COFF/STABS
C++ GNU Free Software Foundation, Inc.
EXE/STABS
C++ GCCARM Free Software Foundation, Inc.
ELF/DWARF2
C++ GREENHILLS-C++ Greenhills Software Inc. ELF/DWARF2C++ MSVC Microsoft Corporation EXE/CV5 WindowsCEC++ HIGH-C++ Synopsys, Inc ELF/DWARFC/C++ VX-ARM TASKING ELF/DWARF2
TRACE32 as GDB Front-End 21 ©1989-2017 Lauterbach GmbH
Products
Product Information
OrderNo Code Text
LA-3741 JTAG-HEXAGON
JTAG Debugger for Hexagon Core (ICD)supports Hexagon from QualcommMulticore debugging includedincludes software for Windows, Linux and MacOSXrequires Power Debug Module or PowerTracedebug cable with 20 pin connector
LA-3741A JTAG-HEXAGON-A
JTAG Debugger License for Hexagon Add.supports HexagonMulticore debugging includedExtension applicable to the following debug cables(purchased separately):for LA-3743 (JTAG Debugger for Cortex-A5x)for LA-7746 (JTAG Debugger for ARM7)for LA-7742 (JTAG Debugger for ARM9)for LA-7744 (JTAG Debugger for ARM10)for LA-7765 (JTAG Debugger for ARM11)for LA-7843 (JTAG Debugger for Cortex-A/-R (ARMv7))for LA-7844 (JTAG Debugger for Cortex-M)please add the serial number of the base dongleto your order
LA-8897D FRONTEND-HEXAGON-UD
TRACE32 Front-End Hexagon (Dongle)TRACE32 Front-End connecting to- virtual prototypes/simulators (VAST, CoWare ...)- third-party target server (GDB server ...)supports the Hexagon architecturelicensed for one host system via USB donglefor Windows32, Windows64, Linux32, Linux64and MAC OS X
LA-8897L FRONTEND-HEXAGON-FL
1 User Floating License Hexagon Front-EndTRACE32 Front-End connecting to- virtual prototypes/simulators (VAST, CoWare ...)- third-party target server (GDB server ...)supports the Hexagon architecturefor Windows32, Windows64, Linux32, Linux64and Solaris, other platforms on requestfloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
TRACE32 as GDB Front-End 22 ©1989-2017 Lauterbach GmbH
Order Information
Order No. Code Text
LA-3741 JTAG-HEXAGON JTAG Debugger for Hexagon Core (ICD)LA-3741A JTAG-HEXAGON-A JTAG Debugger License for Hexagon Add.LA-8897D FRONTEND-HEXAGON-UD TRACE32 Front-End Hexagon (Dongle)LA-8897L FRONTEND-HEXAGON-FL 1 User Floating License Hexagon Front-End
Additional OptionsLA-7765A JTAG-ARM11-A JTAG Debugger License for ARM11 Add.LA-7746A JTAG-ARM7-A JTAG Debugger License for ARM7 Add.LA-7742A JTAG-ARM9-A JTAG Debugger License for ARM9 Add.LA-3743A JTAG-ARMV8-A-A JTAG Debugger License for Cortex-A5x Add.LA-7843A JTAG-CORTEX-A/R-A JTAG Debugger License for Cortex-A/-R Add.LA-7844A JTAG-CORTEX_M-A JTAG Debugger License for Cortex-M Add.
TRACE32 as GDB Front-End 23 ©1989-2017 Lauterbach GmbH