Debugger Xtensa
Debugger Xtensa
Debugger Xtensa
XTENSA ....................................................................................................................................
Warning ..............................................................................................................................
Troubleshooting ................................................................................................................
10
SYStem.Up Errors
10
FAQ .....................................................................................................................................
11
12
Breakpoints
12
Software Breakpoints
12
12
12
13
Runtime Measurement
14
Memory Classes
15
MAP.BUS8
16
MAP.BUS16
16
MAP.BUS32
16
17
SYStem.CONFIG
17
<parameter> General
22
23
28
32
34
38
47
SYStem.CPU
XTENSA Debugger
51
SYStem.CpuAccess
52
53
54
54
55
SYStem.JtagClock
SYStem.LOCK
SYStem.MemAccess
SYStem.Mode
SYStem.Option Endianess
55
56
56
56
SYStem.Option IMASKASM
SYStem.Option IMASKHLL
SYStem.Option IntelSOC
SYStem.Option PWROVR
57
57
Temporary memory
57
SYStem.TIE
58
SYStem.TIE.ADDtiedll
58
SYStem.TIE.ADDALL
tbd.
58
SYStem.TIE.ADPerdll
tbd.
58
SYStem.TIE.CMList
tbd.
59
SYStem.TIE.DELete
59
tbd.
59
SYStem.TIE.DISable
59
SYStem.TIE.ENAble
60
SYStem.Option SOFTLONG
SYStem.Option SPILLLOC
SYStem.TIE.DEPerdll
SYStem.TIE.GENper
tbd.
60
SYStem.TIE.GETArchOPTions
tbd.
61
SYStem.TIE.LIBpath
tbd.
61
SYStem.TIE.REGlist
tbd.
61
62
TERM.METHOD
62
63
63
63
64
TrOnchip.view
64
64
Support ...............................................................................................................................
65
Available Tools
65
Compilers
66
66
67
Products .............................................................................................................................
68
Product Information
68
Order Information
68
1989-2016 Lauterbach GmbH
XTENSA Debugger
XTENSA Debugger
XTENSA Debugger
Version 24-May-2016
Debugger Basics - Training (training_debugger.pdf): Get familiar with the basic features of a
TRACE32 debugger.
Architecture-specific information:
Processor Architecture Manuals: These manuals describe commands that are specific for the
processor architecture supported by your debug cable. To access the manual for your processor
architecture, proceed as follows:
-
RTOS Debugger (rtos_<x>.pdf): TRACE32 PowerView can be extended for operating systemaware debugging. The appropriate RTOS manual informs you how to enable the OS-aware
debugging.
XTENSA Debugger
Warning
NOTE:
Disconnect the debug cable from the target while the target power is
off.
2.
Connect the host system, the TRACE32 hardware and the debug
cable.
3.
4.
5.
6.
7.
Power down:
1.
2.
3.
4.
XTENSA Debugger
Warning
NOTE:
Spcial Registers can be viewed with the peripheral file with the command PER <path>\sfr_xt.per. To add your specific registers you
can do a copy of this file and modify it using the commad PER.Program
<path>\my_sfr_xt.per
XTENSA Debugger
Warning
Select the device prompt for the ICD Debugger and reset the system.
B::
RESet
The device prompt B:: is normally already selected in the command line. If this is not the case enter
B:: to set the correct device prompt. The RESet command is only necessary if you do not start
directly after booting the TRACE32 development tool.
2.
The default values of all other option are set in such a way that it should be possible to work without
modification. Please consider that this is probably not the best configuration for your target.
3.
Inform the debugger about read only address ranges (ROM, FLASH).
MAP.BOnchip 0x060000000++3FFFF
The B(reak)Onchip information is necessary to decide where on-chip breakpoints must be used. Onchip breakpoints are necessary to set program breakpoints to FLASH/ROM.
4.
If a memory location can only be accessed with a certain bus width you can use Map.BUS8 / BUS16
/ BUS32 to force the debugger to use solely the according load or store instructions. This allows for
example to have a byte-by-byte dump of a 32 bit wide memory area, where a byte access would
cause an exception.
5.
This command resets the CPU and enters debug mode. After this command is executed it is possible
to access memory and registers.
XTENSA Debugger
6.
The format of the Data.LOAD command depends on the file format generated by the compiler. Refer
to Supported Compilers to find the command, that is necessary for your compiler.
A detailed description of the Data.LOAD command and all available options is given in the General
Commands Reference.
A typical start sequence without EPROM simulator is shown below. This sequence can be written to an
ASCII file (script file) and executed with the command DO <filename>.
B::
WinCLEAR
MAP.BOnchip 0x60000000++0xfffff
MAP.BUS32 0x50000000++0x1ffff
SYStem.Up
Data.LOAD.elf xtensa_project
Register.Set pc _ResetVector
Register.Set a1 0x63FFFFFC
Data.List
Register /SpotLight
XTENSA Debugger
*) These commands open windows on the screen. The window position can be specified with the WinPOS
command.
Please keep in mind that only the Processor Architecture Manual (the document you are reading at the
moment) is CPU specific, while all other parts of the online help are generic for all CPUs. So if there are
questions related to the CPU, the Processor Architecture Manual should be your first choice.
XTENSA Debugger
Troubleshooting
SYStem.Up Errors
The SYStem.UP command is the first command of a debug session where communication with the target is
required. If you receive error messages while executing this command this may have the following reasons.
XTENSA Debugger
10
Troubleshooting
FAQ
No information available
XTENSA Debugger
11
FAQ
Breakpoints
Software Breakpoints
If a software breakpoint is used, the original code at the breakpoint location is patched by a breakpoint code.
XTENSA Debugger
12
2.
3.
4.
; Software breakpoint 1
; Software breakpoint 2
; Software breakpoint 3
; Software breakpoint 1
; Software breakpoint 2
; Software breakpoint 3
XTENSA Debugger
13
Runtime Measurement
The command RunTime allows run time measurement based on polling the CPU run status by software.
Therefore the result will be about few milliseconds higher than the real value.
XTENSA Debugger
14
Memory Classes
The following ARM specific memory classes are available.
Memory Class
Description
Program Memory
Data Memory
VM
XTENSA Debugger
15
MAP.BUS8
Format:
This command is used to force the debugger to access the specified range with Load / Store 8-bit
commands. So if you do a 32 bit wide memory dump (Data.dump <addr> /LONG) the debugger reads byteby-byte while the window shows the information in 32 bit words.
MAP.BUS16
Format:
This command is used to force the debugger to access the specified range with Load / Store 16-bit
commands. So if you do a 8 bit wide memory dump (Data.dump <addr> /BYTE) the debugger reads wordby-word while the window shows the information byte-by-byte.
As a follow the debugger might read more than the dump window shows, so if a memory cell is sensitive on
read accesses you might touch it unintentional.
MAP.BUS32
Format:
This command is used to force the debugger to access the specified range with Load / Store 32-bit
commands. So if you do a 8 bit wide memory dump (Data.dump <addr> /BYTE) the debugger reads 32 bit
values while the window shows the information byte-by-byte.
As a follow the debugger might read more than the dump window shows, so if a memory cell is sensitive on
read accesses you might touch it unintentional.
XTENSA Debugger
16
SYStem.CONFIG
Format:
SYStem.CONFIG <parameter>
SYStem.MultiCore <parameter> (deprecated syntax)
<parameter>:
(General)
state
<parameter>:
(Debugport)
CJTAGFLAGS <flags>
CJTAGTCA <value>
CONNECTOR [MIPI34 | MIPI20T]
CORE <core> <chip>
CoreNumber <number>
DEBUGPORT [DebugCable0 | DebugCableA | DebugCableB]
DEBUGPORTTYPE [JTAG | SWD | CJTAG | CJTAGSWD]
NIDNTTRSTTORST [ON | OFF]
NIDNTPSRISINGEDGE [ON | OFF]
NIDNTRSTPOLARITY [High | Low]
PortSHaRing [ON | OFF | Auto]
Slave [ON | OFF]
SWDP [ON | OFF]
SWDPIDLEHIGH [ON | OFF]
SWDPTargetSel <value>
TriState [ON | OFF]
<parameter>:
(JTAG)
CHIPDRLENGTH <bits>
CHIPDRPATTERN [Standard | Alternate <pattern>]
CHIPDRPOST <bits>
CHIPDRPRE <bits>
CHIPIRLENGTH <bits>
CHIPIRPATTERN [Standard | Alternate <pattern>]
CHIPIRPOST<bits>
CHIPIRPRE <bits>
DAP2DRPOST <bits>
DAP2DRPRE <bits>
XTENSA Debugger
17
<parameter>:
(JTAG contd)
DAP2IRPOST <bits>
DAP2IRPRE <bits>
DAPDRPOST <bits>
DAPDRPRE <bits>
DAPIRPOST <bits>
DAPIRPRE <bits>
DRPOST <bits>
DRPRE <bits>
ETBDRPOST <bits>
ETBDRPRE <bits>
ETBIRPOST <bits>
ETBIRPRE <bits>
IRPOST<bits>
IRPRE <bits>
<parameter>:
(JTAG contd)
NEXTDRPOST <bits>
NEXTDRPRE <bits>
NEXTIRPOST<bits>
NEXTIRPRE <bits>
RTPDRPOST <bits>
RTPDRPRE <bits>
RTPIRPOST <bits>
RTPIRPRE <bits>
Slave [ON | OFF]
TAPState <state>
TCKLevel <level>
TriState [ON | OFF]
<parameter>:
(Multitap)
CFGCONNECT <code>
DAP2TAP <tap>
DAPTAP <tap>
DEBUGTAP <tap>
ETBTAP <tap>
MULTITAP [NONE | IcepickA | IcepickB | IcepickC | IcepickD | IcepickBB |
IcepickBC | IcepickCC | IcepickDD | STCLTAP1 | STCLTAP2 |
STCLTAP3 |
MSMTAP <irlength> <irvalue> <drlength> <drvalue>]
NJCR <tap>
RTPTAP <tap>
SLAVETAP <tap>
XTENSA Debugger
18
<parameter>:
(DAP)
AHBACCESSPORT <port>
APBACCESSPORT <port>
AXIACCESSPORT <port>
COREJTAGPORT <port>
DAP2AHBACCESSPORT <port>
DAP2APBACCESSPORT <port>
DAP2AXIACCESSPORT <port>
DAP2COREJTAGPORT <port>
DAP2DEBUGACCESSPORT <port>
DAP2JTAGPORT <port>
DAP2AHBACCESSPORT <port>
DEBUGACCESSPORT <port>
JTAGACCESSPORT <port>
MEMORYACCESSPORT <port>
<parameter>:
(Components)
ADTF.Base <address>
ADTF.RESET
AET.Base <address>
AET.RESET
BMC.Base <address>
BMC.RESET
CMI.Base <address>
CMI.RESET
CMI.TraceID <id>
COREDEBUG.Base <address>
COREDEBUG.RESET
CTI.Base <address>
CTI.Config [NONE | ARMV1 | ARMPostInit | OMAP3 | TMS570 | CortexV1 |
QV1]
CTI.RESET
DRM.Base <address>
DRM.RESET
XTENSA Debugger
19
DTM.RESET
DTM.Type [None | Generic]
DWT.Base <address>
DWT.RESET
EPM.Base <address>
EPM.RESET
ETB2AXI.Base <address>
ETB2AXI.RESET
ETB.ATBSource <source>
ETB.Base <address>
ETB.RESET
ETB.Size <size>
ETF.ATBSource <source>
ETF.Base <address>
ETF.RESET
ETM.Base <address>
ETM.RESET
ETR.ATBSource <source>
ETR.Base <address>
ETR.RESET
FUNNEL.ATBSource <sourcelist>
FUNNEL.Base <address>
FUNNEL.Name <string>
FUNNEL.RESET
HSM.Base <address>
HSM.RESET
HTM.Base <address>
HTM.RESET
ICE.Base <address>
ICE.RESET
ITM.Base <address>
ITM.RESET
OCP.Base <address>
OCP.RESET
OCP.TraceID <id>
OCP.Type <type>
PMI.Base <address>
PMI.RESET
PMI.TraceID <id>
RTP.Base <address>
RTP.PerBase <address>
RTP.RamBase <address>
RTP.RESET
SC.Base <address>
SC.RESET
SC.TraceID <id>
STM.Base <address>
STM.Mode [NONE | XTIv2 | SDTI | STP | STP64 | STPv2]
STM.RESET
STM.Type [None | Generic | ARM | SDTI | TI]
TPIU.ATBSource <source>
XTENSA Debugger
20
TPIU.Base <address>
TPIU.RESET
TPIU.Type [CoreSight | Generic]
<parameter>:
(Deprecated)
BMCBASE <address>
BYPASS <seq>
COREBASE <address>
CTIBASE <address>
CTICONFIG [NONE | ARMV1 | ARMPostInit | OMAP3 | TMS570 | CortexV1 |
QV1]
DEBUGBASE <address>
DTMCONFIG [ON | OFF]
DTMETBFUNNELPORT <port>
DTMFUNNEL2PORT <port>
DTMFUNNELPORT <port>
DTMTPIUFUNNELPORT <port>
DWTBASE <address>
ETB2AXIBASE <address>
ETBBASE <address>
ETBFUNNELBASE <address>
ETFBASE <address>
ETMBASE <address>
ETMETBFUNNELPORT <port>
ETMFUNNEL2PORT <port>
ETMFUNNELPORT <port>
ETMTPIUFUNNELPORT <port>
FILLDRZERO [ON | OFF]
FUNNEL2BASE <address>
FUNNELBASE <address>
HSMBASE <address>
HTMBASE <address>
HTMETBFUNNELPORT <port>
HTMFUNNEL2PORT <port>
HTMFUNNELPORT <port>
HTMTPIUFUNNELPORT <port>
ITMBASE <address>
ITMETBFUNNELPORT <port>
ITMFUNNEL2PORT <port>
ITMFUNNELPORT <port>
ITMTPIUFUNNELPORT <port>
PERBASE <address>
RAMBASE <address>
RTPBASE <address>
SDTIBASE <address>
STMBASE <address>
STMETBFUNNELPORT<port>
STMFUNNEL2PORT<port>
STMFUNNELPORT<port>
STMTPIUFUNNELPORT<port>
TIADTFBASE <address>
TIDRMBASE <address>
XTENSA Debugger
21
TIEPMBASE <address>
TIICEBASE <address>
TIOCPBASE <address>
TIOCPTYPE <type>
TIPMIBASE <address>
TISCBASE <address>
TISTMBASE <address>
TPIUBASE <address>
TPIUFUNNELBASE <address>
TRACEETBFUNNELPORT <port>
TRACEFUNNELPORT<port>
TRACETPIUFUNNELPORT <port>
view
The SYStem.CONFIG commands inform the debugger about the available on-chip debug and trace
components and how to access them.
This is a common description of the SYStem.CONFIG command group for the ARM, CevaX, TI DSP and
Hexagon debugger. Each debugger will provide only a subset of these commands. Some commands need
a certain CPU type selection (SYStem.CPU <type>) to become active and it might additionally depend on
further settings.
Ideally you can select with SYStem.CPU the chip you are using which causes all setup you need and you do
not need any further SYStem.CONFIG command.
The SYStem.CONFIG command information shall be provided after the SYStem.CPU command which
might be a precondition to enter certain SYStem.CONFIG commands and before you start up the debug
session e.g. by SYStem.Up.
Syntax remarks:
The commands are not case sensitive. Capital letters show how the command can be shortened.
Example: SYStem.CONFIG.DWT.Base 0x1000 -> SYS.CONFIG.DWT.B 0x1000
The dots after SYStem.CONFIG can alternatively be a blank.
Example: SYStem.CONFIG.DWT.Base 0x1000 or SYStem.CONFIG DWT Base 0x1000.
<parameter> General
state
XTENSA Debugger
22
CJTAGFLAGS <flags>
CJTAGTCA <value>
CONNECTOR
[MIPI34 | MIPI20T]
XTENSA Debugger
23
CoreNumber <number>
DEBUGPORT
[DebugCable0 | DebugCableA | DebugCableB]
XTENSA Debugger
24
DEBUGPORTTYPE
[JTAG | SWD | CJTAG |
CJTAGSWD]
NIDNTPSRISINGEDGE
[ON | OFF]
NIDNTRSTPOLARITY
[High | Low]
XTENSA Debugger
25
NIDNTTRSTTORST
[ON | OFF]
If several debuggers share the same debug port, all except one
must have this option active.
JTAG: Only one debugger - the master - is allowed to control the
signals nTRST and nSRST (nRESET). The other debugger need
to have Slave=OFF.
Default: OFF; ON if CORE=... >1 in config file (e.g. config.t32).
With this command you can change from the normal JTAG
interface to the serial wire debug mode. SWDP (Serial Wire Debug
Port) uses just two signals instead of five. It is required that the
target and the debugger hard- and software supports this
interface.
Default: OFF.
XTENSA Debugger
26
SWDPIdleHigh
[ON | OFF]
Keep SWDIO line high when idle. Only for Serialwire Debug mode.
Usually the debugger will pull the SWDIO data line low, when no
operation is in progress, so while the clock on the SWCLK line is
stopped (kept low).
You can configure the debugger to pull the SWDIO data line
high, when no operation is in progress by using
SYStem.CONFIG SWDPIDLEHIGH ON
Default: OFF.
SWDPTargetSel <value>
XTENSA Debugger
27
CHIPDRLENGTH <bits>
CHIPIRLENGTH <bits>
CHIPIRPATTERN [Standard
| Alternate <pattern>]
XTENSA Debugger
28
If several debugger share the same debug port, all except one
must have this option active.
JTAG: Only one debugger - the master - is allowed to control
the signals nTRST and nSRST (nRESET). The other debugger
need to have Slave=OFF.
Default: OFF; ON if CORE=... >1 in config file (e.g. config.t32).
For CortexM: Please check also
SYStem.Option DISableSOFTRES [ON | OFF]
TAPState <state>
TCKLevel <level>
XTENSA Debugger
29
TAP types:
Core TAP providing access to the debug register of the core you intend to debug.
-> DRPOST, DRPRE, IRPOST, IRPRE.
DAP (Debug Access Port) TAP providing access to the debug register of the core you intend to debug. It
might be needed additionally to a Core TAP if the DAP is only used to access memory and not to access the
core debug register.
-> DAPDRPOST, DAPDRPRE, DAPIRPOST, DAPIRPRE.
DAP2 (Debug Access Port) TAP in case you need to access a second DAP to reach other memory
locations.
-> DAP2DRPOST, DAP2DRPRE, DAP2IRPOST, DAP2IRPRE.
ETB (Embedded Trace Buffer) TAP if the ETB has an own TAP to access its control register (typical with
ARM11 cores).
-> ETBDRPOST, ETBDRPRE, ETBIRPOST, ETBIRPRE.
NEXT: If a memory access changes the JTAG chain and the core TAP position then you can specify the new
values with the NEXT... parameter. After the access for example the parameter NEXTIRPRE will replace the
IRPRE value and NEXTIRPRE becomes 0. Available only on ARM11 debugger.
-> NEXTDRPOST, NEXTDRPRE, NEXTIRPOST, NEXTIRPRE.
RTP (RAM Trace Port) TAP if the RTP has an own TAP to access its control register.
-> RTPDRPOST, RTPDRPRE, RTPIRPOST, RTPIRPRE.
CHIP: Definition of a TAP or TAP sequence in a scan chain that needs a different Instruction Register
(IR) and Data Register (DR) pattern than the default BYPASS (1...1) pattern.
-> CHIPDRPOST, CHIPDRPRE, CHIPIRPOST, CHIPIRPRE.
Example:
TDI
ARM11 TAP
ETB TAP
OfNoInterest TAP
DAP TAP
IR: 5bit
IR: 4bit
IR: 7bit
IR: 4bit
SYStem.CONFIG
SYStem.CONFIG
SYStem.CONFIG
SYStem.CONFIG
SYStem.CONFIG
SYStem.CONFIG
SYStem.CONFIG
SYStem.CONFIG
TDO
IRPRE 15.
DRPRE 3.
DAPIRPOST 16.
DAPDRPOST 3.
ETBIRPOST 5.
ETBDRPOST 1.
ETBIRPRE 11.
ETBDRPRE 2.
XTENSA Debugger
30
XTENSA Debugger
31
TDI
Multitap
IcepickC
ARM11
TAP
DAP
TAP
ETB
TAP
TDO
MULTITAP
DEBUGTAP
DAPTAP
ETBTAB
TMS
TCK
IcepickC
1
4
5
nTRST
CFGCONNECT <code>
DAPTAP <tap>
DAP2TAP <tap>
XTENSA Debugger
32
DEBUGTAP <tap>
ETBTAP <tap>
MULTITAP
[NONE | IcepickA | IcepickB
| IcepickC | IcepickD |
IcepickBB | IcepickBC |
IcepickCC | IcepickDD |
STCLTAP1 | STCLTAP2 |
STCLTAP3 | MSMTAP
<irlength> <irvalue>
<drlength> <drvalue>]
NJCR <tap>
Used if MULTITAP=Icepickx.
RTPTAP <tap>
SLAVETAP <tap>
XTENSA Debugger
33
XTENSA Debugger
34
Debugger
Debug Port
JTAG or
cJTAG or
SWD
System Memory
Chip
Example:
Debug Register
Trace Register
0 JTAG
2 JTAG Access Port
(JTAG-AP)
7 JTAG
AHBACCESSPORT 0
MEMORYACCESSPORT 0
APBACCESSPORT 1
DEBUGACCESSPORT 1
JTAGACCESSPORT 2
ARM9
COREJTAGPORT 7
AHBACCESSPORT <port>
DAP access port number (0-255) which shall be used for AHB:
access class. Default: <port>=0.
APBACCESSPORT <port>
DAP access port number (0-255) which shall be used for APB:
access class. Default: <port>=1.
AXIACCESSPORT <port>
DAP access port number (0-255) which shall be used for AXI:
access class. Default: port not available
COREJTAGPORT <port>
XTENSA Debugger
35
DAP2AHBACCESSPORT
<port>
DAP2APBACCESSPORT
<port>
DAP2AXIACCESSPORT
<port>
DAP2DEBUGACCESSPORT <port>
DAP2 access port number (0-255) where the debug register can
be found (typically on APB). Used for DAP2: access class.
Default: <port>=1.
DAP2COREJTAGPORT
<port>
DAP2JTAGPORT <port>
DAP2MEMORYACCESSPORT <port>
DEBUGACCESSPORT
<port>
DAP access port number (0-255) where the debug register can
be found (typically on APB). Used for DAP: access class.
Default: <port>=1.
JTAGACCESSPORT <port>
MEMORYACCESSPORT
<port>
AHBNAME <name>
AHB bus transactor name that shall be used for AHB: access
class.
APBNAME <name>
APB bus transactor name that shall be used for APB: access
class.
AXINAME <name>
AXI bus transactor name that shall be used for AXI: access
class.
DAP2AHBNAME <name>
AHB bus transactor name that shall be used for AHB2: access
class.
XTENSA Debugger
36
DAP2APBNAME <name>
APB bus transactor name that shall be used for APB2: access
class.
DAP2AXINAME <name>
AXI bus transactor name that shall be used for AXI2: access
class.
DAP2DEBUGBUSNAME
<name>
APB bus transactor name identifying the bus where the debug
register can be found. Used for DAP2: access class.
DAP2MEMORYBUSNAME
<name>
DEBUGBUSNAME <name>
APB bus transactor name identifying the bus where the debug
register can be found. Used for DAP: access class.
MEMORYBUSNAME
<name>
DAPNAME <name>
DAP transactor name that shall be used for DAP access ports.
DAP2NAME <name>
DAP transactor name that shall be used for DAP access ports of
2nd order.
XTENSA Debugger
37
Each configuration can be done by a command in a script file as well. Then you do not need to enter
everything again on the next debug session. If you press the button with the three dots you get the
corresponding command in the command line where you can view and maybe copy it into a script file.
XTENSA Debugger
38
You can have several of the following components: CMI, ETB, ETF, ETR, FUNNEL, STM.
Example: FUNNEL1, FUNNEL2, FUNNEL3,...
The <address> parameter can be just an address (e.g. 0x80001000) or you can add the access class in
front (e.g. AHB:0x80001000). Without access class it gets the command specific default access class which
is EDAP: in most cases.
Example:
Core
ETM
Core
ETM
0
1
FUNNEL
0
FUNNEL
STM
TPIU
XTENSA Debugger
39
Example:
SYStem.CONFIG FUNNEL.ATBSource ETM 0 HTM 1 STM 7
Meaning: The funnel gets trace data from ETM on port 0, from
HTM on port 1 and from STM on port 7.
In an SMP (Symmetric MultiProcessing) debug session where
you used a list of base addresses to specify one component per
core you need to indicate which component in the list is meant:
XTENSA Debugger
40
... .RESET
Undo the configuration for this component. This does not cause a
physical reset for the component on the chip.
For a list of possible components including a short description
see Components and available commands.
1989-2016 Lauterbach GmbH
XTENSA Debugger
41
CTI.Config <type>
ETB.Size <size>
Specifies the size of the Embedded Trace Buffer. The ETB size
can normally be read out by the debugger. Therefore this
command is only needed if this can not be done for any reason.
XTENSA Debugger
42
FUNNEL.Name <string>
OCP.Type <type>
RTP.PerBase <address>
RTP.RamBase <address>
Selects the protocol type used by the System Trace Module (STM).
Selects the type of the System Trace Module (STM). Some types
allow to work with different protocols (see STM.Mode).
TPIU.Type [CoreSight |
Generic]
See the description of the commands above. Please note that there is a common description for
... .ATBSource, ... .Base, , ... .RESET, ... .TraceID.
ADTF.Base <address>
ADTF.RESET
AMBA trace bus DSP Trace Formatter (ADTF) - Texas Instruments
Module of a TMS320C5x or TMS320C6x core converting program and data trace information in ARM
CoreSight compliant format.
AET.Base <address>
AET.RESET
Advanced Event Triggering unit (AET) - Texas Instruments
Trace source module of a TMS320C5x or TMS320C6x core delivering program and data trace information.
1989-2016 Lauterbach GmbH
XTENSA Debugger
43
BMC.Base <address>
BMC.RESET
Performance Monitor Unit (PMU) - ARM debug module, e.g. on Cortex-A/R
Bench-Mark-Counter (BMC) is the TRACE32 term for the same thing.
The module contains counter which can be programmed to count certain events (e.g. cache hits).
CMI.Base <address>
CMI.RESET
CMI.TraceID <id>
Clock Management Instrumentation (CMI) - Texas Instruments
Trace source delivering information about clock status and events to a system trace module.
COREDEBUG.Base <address>
COREDEBUG.RESET
Core Debug Register - ARM debug register, e.g. on Cortex-A/R
Some cores do not have a fix location for their debug register used to control the core. In this case it is
essential to specify its location before you can connect by e.g. SYStem.Up.
CTI.Base <address>
CTI.Config [NONE | ARMV1 | ARMPostInit | OMAP3 | TMS570 | CortexV1 | QV1]
CTI.RESET
Cross Trigger Interface (CTI) - ARM CoreSight module
If notified the debugger uses it to synchronously halt (and sometimes also to start) multiple cores.
DRM.Base <address>
DRM.RESET
Debug Resource Manager (DRM) - Texas Instruments
It will be used to prepare chip pins for trace output.
DTM.RESET
DTM.Type [None | Generic]
Data Trace Module (DTM) - generic, CoreSight compliant trace source module
If specified it will be considered in trace recording and trace data can be accessed afterwards.
DTM module itself will not be controlled by the debugger.
DWT.Base <address>
DWT.RESET
Data Watchpoint and Trace unit (DWT) - ARM debug module on Cortex-M cores
Normally fix address at 0xE0001000 (default).
EPM.Base <address>
EPM.RESET
Emulation Pin Manager (EPM) - Texas Instruments
It will be used to prepare chip pins for trace output.
ETB2AXI.Base <address>
ETB2AXI.RESET
ETB to AXI module
Similar to an ETR.
XTENSA Debugger
44
ETB.ATBSource <source>
ETB.Base <address>
ETB.RESET
ETB.Size <size>
Embedded Trace Buffer (ETB) - ARM CoreSight module
Enables trace to be stored in a dedicated SRAM. The trace data will be read out through the debug port after
the capturing has finished.
ETF.ATBSource <source>
ETF.Base <address>
ETF.RESET
Embedded Trace FIFO (ETF) - ARM CoreSight module
On-chip trace buffer used to lower the trace bandwidth peaks.
ETM.Base <address>
ETM.RESET
Embedded Trace Macrocell (ETM) - ARM CoreSight module
Program Trace Macrocell (PTM) - ARM CoreSight module
Trace source providing information about program flow and data accesses of a core.
The ETM commands will be used even for PTM.
ETR.ATBSource <source>
ETR.Base <address>
ETR.RESET
Embedded Trace Router (ETR) - ARM CoreSight module
Enables trace to be routed over an AXI bus to system memory or to any other AXI slave.
FUNNEL.ATBSource <sourcelist>
FUNNEL.Base <address>
FUNNEL.Name <string>
FUNNEL.RESET
CoreSight Trace Funnel (CSTF) - ARM CoreSight module
Combines multiple trace sources onto a single trace bus (ATB = AMBA Trace Bus)
HSM.Base <address>
HSM.RESET
Hardware Security Module (HSM) - Infineon
HTM.Base <address>
HTM.RESET
AMBA AHB Trace Macrocell (HTM) - ARM CoreSight module
Trace source delivering trace data of access to an AHB bus.
ICE.Base <address>
ICE.RESET
ICE-Crusher (ICE) - Texas Instruments
ITM.Base <address>
ITM.RESET
Instrumentation Trace Macrocell (ITM) - ARM CoreSight module
Trace source delivering system trace information e.g. sent by software in printf() style.
XTENSA Debugger
45
OCP.Base <address>
OCP.RESET
OCP.TraceID <id>
OCP.Type <type>
Open Core Protocol watchpoint unit (OCP) - Texas Instruments
Trace source module delivering bus trace information to a system trace module.
PMI.Base <address>
PMI.RESET
PMI.TraceID <id>
Power Management Instrumentation (PMI) - Texas Instruments
Trace source reporting power management events to a system trace module.
RTP.Base <address>
RTP.PerBase <address>
RTP.RamBase <address>
RTP.RESET
RAM Trace Port (RTP) - Texas Instruments
Trace source delivering trace data about memory interface usage.
SC.Base <address>
SC.RESET
SC.TraceID <id>
Statistic Collector (SC) - Texas Instruments
Trace source delivering statistic data about bus traffic to a system trace module.
STM.Base <address>
STM.Mode [NONE | XTIv2 | SDTI | STP | STP64 | STPv2]
STM.RESET
STM.Type [None | Generic | ARM | SDTI | TI]
System Trace Macrocell (STM) - MIPI, ARM CoreSight, others
Trace source delivering system trace information e.g. sent by software in printf() style.
TPIU.ATBSource <source>
TPIU.Base <address>
TPIU.RESET
TPIU.Type [CoreSight | Generic]
Trace Port Interface Unit (TPIU) - ARM CoreSight module
Trace sink sending the trace off-chip on a parallel trace port (chip pins).
XTENSA Debugger
46
XTENSA Debugger
47
BYPASS <seq>
CTICONFIG <type>
XTENSA Debugger
48
This changes the bypass data pattern for other TAPs in a multiTAP JTAG chain. It changes the pattern from all 1 to all 0. This
is a workaround for a certain chip problem. It is available on the
ARM9 debugger, only.
TIOCPTYPE <type>
view
In the following you find the list of deprecated commands which can still be used for compatibility reasons
and the corresponding new command.
SYStem.CONFIG <parameter>
<parameter>:
(Deprecated)
<parameter>:
(New)
BMCBASE <address>
BMC.Base <address>
BYPASS <seq>
CHIPIRPRE <bits>
CHIPIRLENGTH <bits>
CHIPIRPATTERN.Alternate <pattern>
COREBASE <address>
COREDEBUG.Base <address>
CTIBASE <address>
CTI.Base <address>
CTICONFIG <type>
CTI.Config <type>
DEBUGBASE <address>
COREDEBUG.Base <address>
DTM.Type.Generic
DTMETBFUNNELPORT <port>
DTMFUNNEL2PORT <port>
DTMFUNNELPORT <port>
DTMTPIUFUNNELPORT <port>
DWTBASE <address>
DWT.Base <address>
ETB2AXIBASE <address>
ETB2AXI.Base <address>
1989-2016 Lauterbach GmbH
XTENSA Debugger
49
ETBBASE <address>
ETB1.Base <address>
ETBFUNNELBASE <address>
FUNNEL4.Base <address>
ETFBASE <address>
ETF1.Base <address>
ETMBASE <address>
ETM.Base <address>
ETMETBFUNNELPORT <port>
ETMFUNNEL2PORT <port>
ETMFUNNELPORT <port>
ETMTPIUFUNNELPORT <port>
CHIPDRPRE 0
CHIPDRPOST 0
CHIPDRLENGTH <bits_of_complete_DR_path>
CHIPDRPATTERN.Alternate 0
FUNNEL2BASE <address>
FUNNEL2.Base <address>
FUNNELBASE <address>
FUNNEL1.Base <address>
HSMBASE <address>
HSM.Base <address>
HTMBASE <address>
HTM.Base <address>
HTMETBFUNNELPORT <port>
HTMFUNNEL2PORT <port>
HTMFUNNELPORT <port>
HTMTPIUFUNNELPORT <port>
ITMBASE <address>
ITM.Base <address>
ITMETBFUNNELPORT <port>
ITMFUNNEL2PORT <port>
ITMFUNNELPORT <port>
ITMTPIUFUNNELPORT <port>
PERBASE <address>
RTP.PerBase <address>
RAMBASE <address>
RTP.RamBase <address>
RTPBASE <address>
RTP.Base <address>
SDTIBASE <address>
STM1.Base <address>
STM1.Mode SDTI
STM1.Type SDTI
STMBASE <address>
STM1.Base <address>
STM1.Mode STPV2
STM1.Type ARM
STMETBFUNNELPORT <port>
STMFUNNEL2PORT <port>
STMFUNNELPORT <port>
STMTPIUFUNNELPORT <port>
XTENSA Debugger
50
TIADTFBASE <address>
ADTF.Base <address>
TIDRMBASE <address>
DRM.Base <address>
TIEPMBASE <address>
EPM.Base <address>
TIICEBASE <address>
ICE.Base <address>
TIOCPBASE <address>
OCP.Base <address>
TIOCPTYPE <type>
OCP.Type <type>
TIPMIBASE <address>
PMI.Base <address>
TISCBASE <address>
SC.Base <address>
TISTMBASE <address>
STM1.Base <address>
STM1.Mode STP
STM1.Type TI
TPIUBASE <address>
TPIU.Base <address>
TPIUFUNNELBASE <address>
FUNNEL3.Base <address>
TRACEETBFUNNELPORT <port>
TRACEFUNNELPORT <port>
TRACETPIUFUNNELPORT <port>
view
state
(1) Further <component>.ATBSource <source> commands might be needed to describe the full trace data
path from trace source to trace sink.
SYStem.CPU
Format:
SYStem.CPU <cpu>
<cpu>:
Selects the processor type. IF XTENSA is selected the debugger detects the architectural options from the
CPU.
XTENSA Debugger
51
SYStem.CpuAccess
Format:
Default: Denied. .
Enable
Denied
Nonstop
Lock all features of the debugger that affect the run-time behavior.
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. Each stop takes 0.1-100 ms depending on the speed of the JTAG port
and the operations that should be performed. A red S in the state line of the TRACE32 screen warns you,
that the program is no longer running in realtime.
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.
Data.dump E:0x100
Var.View %E first
XTENSA Debugger
52
SYStem.JtagClock
Format:
<frequency>
10000. 40000000.
1250000. | 2500000. | 5000000. | 10000000. (on obsolete ICD hardware)
<frequency>
The debugger can not select all frequencies accurately. It chooses the next
possible frequency and displays the real value in the System Settings window.
Besides a decimal number like 100000. also short forms like 10kHz or
15MHz can be used. The short forms implies a decimal value, although no .
is used.
RTCK
The JTAG interface of XTENSA does not offer RTCK (Returned TCK).
However, in multicore applications with ARM, RTCK can be used to control the
JTAG clock.
On some processor derivatives, there is the need to synchronize the processor
clock and the JTAG clock. In this case RTCK shall be selected. Synchronization
is maintained, because the debugger does not progress to the next TCK edge
until after an RTCK edge is received.
In case you have a processor derivative requiring a synchronization of the
processor clock and the JTAG clock, but your target does not provide a RTCK
signal, you need to select a fix JTAG clock below 1/6 of the processor clock
(ARM7, ARM9), below 1/8 of the processor clock (ARM11), respectively.
When RTCK is selected, the frequency depends on the processor clock and on the
propagation delays. The maximum reachable frequency is about 16 MHz.
XTENSA Debugger
53
SYStem.LOCK
Format:
Default: OFF.
If the system is locked no access to the JTAG port will be performed by the debugger. While locked the JTAG
connector of the debugger is tristated. The intention of the lock command is for example to give JTAG
access to another tool. The process can also be automated, see SYStem.CONFIG TriState.
It must be ensured that the state of the XTENSA core JTAG state machine remains unchanged while the
system is locked. To ensure correct hand over the options SYStem.CONFIG TAPState and
SYStem.CONFIG TCKLevel must be set properly. They define the TAP state and TCK level which is
selected when the debugger switches to tristate mode.
SYStem.MemAccess
Format:
CPU
Denied
Default: Denied.
The XTENSA Debug Option does not offer a mermory access while code is executed.
XTENSA Debugger
54
SYStem.Mode
Format:
SYStem.Mode <mode>
<mode>:
Down
NoDebug
Go
Attach
Up
Down
Disables the debugger (default). The state of the CPU remains unchanged. The
JTAG port is tristated.
NoDebug
Disables the debugger. The state of the CPU remains unchanged. The JTAG
port is tristated.
Go
Resets the target and enables the debugger and start the program execution.
Program execution can be stopped by the break command or external trigger.
Attach
User program remains running (no reset) and the debug mode is activated.
After this command the user program can be stopped with the break command
or if any break condition occurs.
The automatic endian detection does not work in this case. Set the
SYStem.Option Endianess to Little or Big before executing SYStem.Mode
Attach.
StandBy
Up
Resets the target, sets the CPU to debug mode and stops the CPU. After the
execution of this command the CPU is stopped and all register are set to the
default level.
SYStem.Option Endianess
Format:
Default: AUTO.
The instructions for the JTAG connection to the XTENSA core depend on the byte ordering. If AUTO is
selected, the debugger detects the Endianess when leaving down state. This does not work for
SYStem.Mode Attach.
XTENSA Debugger
55
SYStem.Option IMASKASM
Format:
Default: OFF.
If enabled, the interrupt mask bits of the CPU will be set during assembler single-step operations. The
interrupt routine is not executed during single-step operations. After single step the interrupt mask bits are
restored to the value before the step.
SYStem.Option IMASKHLL
Format:
Default: OFF.
If enabled, the interrupt mask bits of the cpu will be set during HLL single-step operations. The interrupt
routine is not executed during single-step operations. After single step the interrupt mask bits are restored to
the value before the step.
SYStem.Option IntelSOC
Format:
Default: OFF.
Inform the debugger that the Xtensa core is part of an Intel SoC. When enabled, all IR and DR pre/post
settings are handled automatically, no manuel configuration is necessary.
Requires that the Xtensa debugger is slave in a multicore setup with x86 as the master debugger and that
SYStem.Option.CLTAPOnly is enabled in the x86 debugger.
XTENSA Debugger
56
SYStem.Option PWROVR
Format:
Specifies the power override bit when a certain derivative providing this function is selected.
SYStem.Option SOFTLONG
Format:
Default: OFF.
This option instructs the debugger to use 32-bit accesses to patch the software breakpoint code.
MAP.BUS8 / BUS16 / BUS32 does not influence the access used for patching the software breakpoint code.
So if you use map.bus32 for code area you have to activate this option.
SYStem.Option SPILLLOC
Format:
Temporary memory
Tells the debugger where to find memory which can be used to store data and to execute small pieces of
code (max. 256 bytes).
Some configurations contain registers which cannot be accessed directly. They can only be accessed by
executing a sequence of instructions. For this task, a small area of RAM is required. The debugger saves the
contents before the memory is used and restores the original contents after usage. With this option, you can
specify the first address of the memory range the debugger can use.
XTENSA Debugger
57
SYStem.TIE
The SYStem.TIE command group is used to configure TRACE32 to deal with architectural extensions. One
important extension, the Tensilica Instruction Extension gave the name for this set of commands.
The Tensilica tool chain generates libraries for a custom configuration. These libraries can be used to extract
information on the usage of architectural options, additional instructions and registers.
SYStem.TIE.ADDtiedll
Format:
SYStem.TIE.ADD <filename>
<filename>
Adds TIE library file to the TRACE32. It is important to add all needed library files. TIE library files are
internally dependent so if any file is missing an error may appear after executing SYSTEM.TIE.ENAble
command.
Example:
SYSTEM.TIE.ADD libisa-core.dll
SYStem.TIE.ADDALL
Format:
tbd.
SYStem.TIE.ADDALL <directory>
tbd.
SYStem.TIE.ADPerdll
Format:
tbd.
SYStem.TIE.ADP <filename>
tbd.
1989-2016 Lauterbach GmbH
XTENSA Debugger
58
SYStem.TIE.CMList
Format:
tbd.
SYStem.TIE.CMList <filename>
tbd.
SYStem.TIE.DELete
Format:
SYSTEM.TIE.DELete
Removes all added TIE library files from TRACE32. This command is recommended before SYStem.
TIE.ADDtiedll to be sure that there are no other library files added.
Example:
SYSTEM.TIE.DELete
SYStem.TIE.DEPerdll
Format:
tbd.
SYStem.TIE.DEPerdll
tbd.
SYStem.TIE.DISable
Format:
SYSTEM.TIE.DISable
All loaded TIE library files are unloaded from disassembler decoder. Instructions are decoded only by the
internal TRACE32 decoder. To restart decoding with TIE library files use the command
SYStem.TIE.ENAble.
XTENSA Debugger
59
Example:
SYSTEM.TIE.DISable
Usage:
SYStem.TIE.DEL
SYStem.TIE.ADDtiedll
SYStem.TIE.ADDtiedll
SYStem.TIE.ADDtiedll
SYStem.TIE.ENA
SYStem.TIE.ENAble
Format:
SYStem.TIE.ENAble
Loads all added TIE library files to the TRACE32 disassembler. From this moment all instructions are
decoded by internal TRACE32 decoder and TIE library files. Before you execute this command, it is
necessary to add all needed library files to the TRACE32 otherwise an error will appear and TIE library files
will not be loaded. To add the file use SYStem.TIE.ADDtiedll command.
Example:
SYStem.TIE.ENAble
SYStem.TIE.GENper
Format:
tbd.
SYStem.TIE.GENper <filename>
tbd.
XTENSA Debugger
60
SYStem.TIE.GETArchOPTions
Format:
tbd.
SYStem.TIE.GETArchOPTions <filename>
tbd.
SYStem.TIE.LIBpath
Format:
tbd.
SYStem.TIE.LIBpath <directory>
tbd.
SYStem.TIE.REGlist
Format:
tbd.
SYStem.TIE.REGlist <filename>
tbd.
XTENSA Debugger
61
TERM.METHOD
Format:
BRK1_14
XTENSA Debugger
62
TrOnchip.RESet
Format:
TrOnchip.RESet
TrOnchip.view
Format:
TrOnchip.view
XTENSA Debugger
63
JTAG Connection
Pin
1
3
5
7
9
11
13
Pin
2
4
6
10
12
14
Signal
GND
GND
GND
KEY PIN
TMS
N/C
TRST-
Tensilica has specified Pin 8 as a mechanical KEY Pin to define the orientation of the connector. This is a
standard 14 pin double row (two rows of seven pins) connector (pin to pin spacing: 0.100 in.).
TCK, TMS, TDI and nTRST are driven by CMOS drivers which are supplied with a voltage
following the level at VCCS. Therefore the ICD can work in an voltage range of 1.8 5.0 V. In
normal operation mode this driver is enabled, but it can be disabled to give another tool access to
the JTAG port. In environments where multiple tools can access the JTAG port, it is absolutely
required that there is a pull down resistor at TCK. This is to ensure that TCK is low during a hand
over between different tools.
VCCS is used as a sense line for the target voltage. It is also used to define the level which is
generated to supply the output drivers of the ICD interface to make an adaptation to the target
voltage (I(VCCS) appr. 3 mA).
nRESET (= nSRST) is used by the debugger to reset the target CPU or to detect a reset on the
target. It is driven by an open collector buffer. The debugger will only assert a pulse on nRESET
when the SYS.UP command is executed.
XTENSA Debugger
64
JTAG Connection
Support
CUSTOM_CPU
CUSTOM_DSP
DC_108MINI
DC_212GP
DC_232L
DC_330HIFI
DC_454CK
DC_570T
HIFI
XTENSA_9
XTENSA_LX2
XTENSA_LX3
XTENSA_LX4
INSTRUCTION
SIMULATOR
POWER
INTEGRATOR
ICD
TRACE
ICD
MONITOR
ICD
DEBUG
FIRE
ICE
CPU
Available Tools
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
XTENSA Debugger
65
Support
Compilers
Language
Compiler
Company
Option
C++
GNU
Free Software
Foundation, Inc.
ELF/DWARF
Comment
Company
Comment
ThreadX
XTENSA Debugger
66
Support
Tool
Company
ALL
ALL
ALL
ADENEO
X-TOOLS / X32
CODEWRIGHT
ALL
CODE CONFIDENCE
TOOLS
CODE CONFIDENCE
TOOLS
EASYCODE
ECLIPSE
RHAPSODY IN MICROC
RHAPSODY IN C++
CHRONVIEW
LDRA TOOL SUITE
UML DEBUGGER
Adeneo Embedded
blue river software GmbH
Borland Software
Corporation
Code Confidence Ltd
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ALL
ATTOL TOOLS
VISUAL BASIC
INTERFACE
LABVIEW
CODE::BLOCKS
C++TEST
RAPITIME
DA-C
TRACEANALYZER
SIMULINK
TA INSPECTOR
UNDODB
VECTORCAST UNIT
TESTING
VECTORCAST CODE
COVERAGE
WINDOWS CE PLATF.
BUILDER
Host
Windows
Windows
Windows
Linux
EASYCODE GmbH
Eclipse Foundation, Inc
IBM Corp.
IBM Corp.
Inchron GmbH
LDRA Technology, Inc.
LieberLieber Software
GmbH
MicroMax Inc.
Microsoft Corporation
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Windows
NATIONAL
INSTRUMENTS
Corporation
Open Source
Parasoft
Rapita Systems Ltd.
RistanCASE
Symtavision GmbH
The MathWorks Inc.
Timing Architects GmbH
Undo Software
Vector Software
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Linux
Windows
Vector Software
Windows
Windows
Windows
XTENSA Debugger
67
Support
Products
Product Information
OrderNo Code
Text
LA-3760
JTAG-XTENSA
LA-3760A
JTAG-XTENSA-A
LA-3762
JTAG-XTENSA-20
LA-3761
JTAG-AD-XTENSA
Order Information
Order No.
Code
Text
LA-3760
LA-3760A
LA-3762
LA-3761
JTAG-XTENSA
JTAG-XTENSA-A
JTAG-XTENSA-20
JTAG-AD-XTENSA
Additional Options
LA-3743A JTAG-ARMV8-A-A
LA-7843A JTAG-CORTEX-A/R-A
LA-7960X MULTICORE-LICENSE
XTENSA Debugger
68
Products