General Ref r
Transcript of General Ref r
-
8/18/2019 General Ref r
1/48
General Commands Reference Guide R 1 ©1989-2015 Lauterbach GmbH
General Commands Reference Guide R
TRACE32 Online Help
TRACE32 Directory
TRACE32 Index
TRACE32 Documents ......................................................................................................................
General Commands ......................................................................................................................
General Commands Reference Guide R .................................................................................. 1
REFresh .................................................................................................................................... 4
Function 4
REFresh.Address Refresh address range 5
REFresh.CYcle Access mode 5
REFresh.Inc Address distance 5 REFresh.OFF Switch off 6
REFresh.RESet Reset command 6
REFresh.StandBy Standby mode 7
REFresh.state Status display 7
REFresh.Time Refresh rate 8
Register .................................................................................................................................... 9
Register Processor registers 9
Register.Init Initialize the processor registers 9
Register.LOG Log registers 13
Register.REFRESH Refresh register window 14
Register.RELOAD Reload the compiler register settings 14
Register.Set Modify register contents 15
Register.StackTop Define stack top address 16
Register.view Display registers 17
RESet ........................................................................................................................................ 20
RESet Reset all commands 20
RTP ........................................................................................................................................... 21
RTP.CLEAR Clear tracebuffer 21
RTP.DirectDataMode tbd. 21
RTP.DirectDataMode.Mode Direct data mode read/write 21
RTP.HaltOnOverflow Halt system on RTP FIFO overflow 21
RTP.Mode Selects the trace mode 21
RTP.OFF Disables the RTP module 21
RTP.ON Activates the RTP module 21
RTP.PortClock Configure RTPCLK 22
RTP.PortSize Size of RTP data port 22
http://main.pdf/http://directory.pdf/http://index.pdf/http://directory.pdf/http://directory.pdf/http://directory.pdf/http://directory.pdf/http://index.pdf/http://directory.pdf/http://main.pdf/
-
8/18/2019 General Ref r
2/48
General Commands Reference Guide R 2 ©1989-2015 Lauterbach GmbH
RTP.Register Display the RTP register 22
RTP.RESet Resets RTP settings 22
RTP.state Display RTP setup 22
RTP.TraceMode tbd. 22
RTP.TraceMode.RAM.SECTion Configures a trace region 22
RTP.TraceMode.TraceExclude Invert all trace regions 22
RTS ........................................................................................................................................... 24
RTS Real-time profiling (RTS) 24 RTS.COVerage Code coverage 25
RTS.FILE Set the name for the RTS file 26
RTS.FileCompression Set compression level for the RTS file 26
RTS.FileLimit Set size limit for the RTS file 27
RTS.FileMode Select the data to write to the RTS file 28
RTS.Init Initialize RTS 29
RTS.ISTATistic Statistics regarding instruction execution 29
RTS.List List recorded trace data 31
RTS.ListNesting Display function call nesting 32
RTS.LOAD Mount a file as trace source 33
RTS.NestingMode Set type of program flow analysis 34
RTS.OFF Deactivate real-time profiling 35
RTS.ON Activate real-time profiling 35
RTS.PROfile Display performance characteristics charts 36
RTS.RESet Restore default settings and initialize RTS 37
RTS.state Open status and control window 37
RTS.STATistic Statistics regarding function invocations 39 RTS.StopOnError Configure behavior regarding minor errors 40
RTS.StopOnFifofull Configure behavior regarding FIFO overflows 40
RTS.TASKMode Configure task analysis 41
RTS.TImeMode Configure analysis of program execution timing 42
RunTime ................................................................................................................................... 43
RunTime Runtime measurement 43
Runtime Measurements Using the Debugger 43
Runtime Measurements Using TRACE32-ICE / TRACE32-FIRE 45 Functions related to RunTime 46
RunTime.Init Clear timers 46
RunTime.refA Set reference 47
RunTime.refB Set reference 47
RunTime.RESet Reset values to zero 47
RunTime.state Display results 48
-
8/18/2019 General Ref r
3/48
General Commands Reference Guide R 3 ©1989-2015 Lauterbach GmbH
Usage:
(B) command only available for ICD(E) command only available for ICE
(F) command only available for FIRE
-
8/18/2019 General Ref r
4/48
General Commands Reference Guide R 4 REFresh ©1989-2015 Lauterbach GmbH
General Commands Reference Guide R
Version 06-Nov-2015
REFresh
Function
The refresh function has to be activated, when a dynamic RAM is on the target system and is refreshed bythe CPU. The refresh function uses burst read cycles for refreshing target memory. Address range andstorage class may be defined.
StandBy
On StandBy mode the refresh burst is forced while no emulation is running.
NOTE: This command is for refreshing target DRAMs only, when having dynamicemulation memory, it is automatically refreshed by dual-port access.
//////////////////
ref.burst ref.burst realtime emulation ref.burst ref.burst
-
8/18/2019 General Ref r
5/48
General Commands Reference Guide R 5 REFresh ©1989-2015 Lauterbach GmbH
REFresh.Address Refresh address range
Defines the address range, which is touched by refresh cycles.
If the REF.Inc value is set to zero, the address range will be define the length of the refresh burst to a singlememory address.
See also
■ REFresh.state
▲ ’Refresh Generator’ in ’ICE User’s Guide’
CE only
REFresh.CYcle Access mode
If on 16 bit CPUs the access type is LONG, refresh is made by 2 refresh cycles. If on 8 bit CPUs the optionWORD or LONG is selected, 2 or 4 cycles are used for one refresh cycle.
See also
■ REFresh.state
▲ ’Refresh Generator’ in ’ICE User’s Guide’
Format: REFresh.Address
ref.inc 0x1ref.a ud:0x10000--0x100ff ; Refresh on USERDATA area
ref.inc 0x0
ref.c word
ref.a sd:0x1000++0x0ff ; Refresh burst with 128 words on
; address 1000h
Format: REFresh.CYcle
: ByteWordLong
http://ice_user.pdf/http://ice_user.pdf/http://ice_user.pdf/http://ice_user.pdf/
-
8/18/2019 General Ref r
6/48
General Commands Reference Guide R 6 REFresh ©1989-2015 Lauterbach GmbH
CE only
REFresh.Inc Address distance
Defines the address increment used in the refresh access loop.
See also
■ REFresh.state
▲ ’Refresh Generator’ in ’ICE User’s Guide’
CE only
REFresh.OFF Switch off
Refresh function is switched to OFF automatically, when the refresh parameters don't fit e.g. an odd addressrange together with word size.
See also
■ REFresh.state
▲ ’Refresh Generator’ in ’ICE User’s Guide’
Format: REFresh.Inc
: 1. …
; force refresh with 256 cycles
ref.t 4.ms
ref.a ud:0x0--0x03ff
ref.c long
ref.i 0x4
ref.on
; cycle time 4 ms
; address range 0 to 03ffh
; long word
; increment 4
; switch on refresh operation
; standby refresh on address 1000H
ref.a ud:0x1000++0x0
ref.c b
ref.standby
; address 1000H
; byte access
; switch refresh on
Format: REFresh.OFF
http://ice_user.pdf/http://ice_user.pdf/http://ice_user.pdf/http://ice_user.pdf/
-
8/18/2019 General Ref r
7/48
General Commands Reference Guide R 7 REFresh ©1989-2015 Lauterbach GmbH
CE only
REFresh.RESet Reset command
The refresh system is switched to OFF and all refresh parameters are initialized.
See also
■ REFresh.state
▲ ’Refresh Generator’ in ’ICE User’s Guide’
CE only
REFresh.StandBy Standby mode
Refresh cycles will be executed, if real-time emulation is not active. Refresh command may be activated onlywhen all refresh parameters are correct.
See also
■ REFresh.state ▲ ’Refresh Generator’ in ’ICE User’s Guide’
Format: REFresh.RESet
Format: REFresh.StandBy
http://ice_user.pdf/http://ice_user.pdf/http://ice_user.pdf/http://ice_user.pdf/
-
8/18/2019 General Ref r
8/48
General Commands Reference Guide R 8 REFresh ©1989-2015 Lauterbach GmbH
CE only
REFresh.state Status display
Displays the current setup of the refresh function.
See also
■ REFresh.Address ■ REFresh.CYcle ■ REFresh.Inc ■ REFresh.OFF
■ REFresh.RESet ■ REFresh.StandBy ■ REFresh.Time
▲ ’Refresh Generator’ in ’ICE User’s Guide’
CE only
REFresh.Time Refresh rate
Will define the refresh time, if cyclic refresh is selected. This field has no effect on standby-refresh.
See also
■ REFresh.state
▲ ’Refresh Generator’ in ’ICE User’s Guide’
Format: REFresh.state
Format: REFresh.Time
: 1.0ms … 1.0s
ref.t 4.0ms ; refresh burst every 4 ms
E68::w.ref
mode
OFF
ON
StandBy
Address
UD:
000000
0000FF
Cycle
BYTE
Inc
000001
http://ice_user.pdf/http://ice_user.pdf/http://ice_user.pdf/http://ice_user.pdf/
-
8/18/2019 General Ref r
9/48
General Commands Reference Guide R 9 Register ©1989-2015 Lauterbach GmbH
Register
Register Processor registers
The Register command group is used to control the processor registers. In case of subprocessors (e.g.,
FPU) extra commands are provided.
Register values can be returned by the function Register()
See also
■ Register.Init ■ Register.LOG
■ Register.REFRESH ■ Register.RELOAD
■ Register.Set ■ Register.StackTop
■ Register.view ❏ PP()
❏ Register() ❏ Register.LIST()
▲ ’Release Information’ in ’Release History’
Register.Init Initialize the processor registers
Sets the registers to the same state as after the processor reset. Registers which are undefined afterRESET are set to zero.
PRINT Register(D0) ; print the contents of the
; register D0 in the message line
Register.Set D1 Register(D0) ; set register D1 to the contents
; of register D0
Format: Register.InitRegister.RESet (deprecated)
B:: ; example for the debugger
…
SYStem.Up ; establish the communication between the
; processor and the debugger
Register.Init ; initialize the general purpose registers
…
http://general_ref_f.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://release.pdf/http://release.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_ref_f.pdf/
-
8/18/2019 General Ref r
10/48
General Commands Reference Guide R 10 Register ©1989-2015 Lauterbach GmbH
CPU Behavior of Register.Init
ARC STATUS
-
8/18/2019 General Ref r
11/48
General Commands Reference Guide R 11 Register ©1989-2015 Lauterbach GmbH
DSP56K Family 56000 and 56100The eight 16-bit modifier registers M[0-7] are set to 0xFFFF. Thisspecifies linear arithmetic as the default type for address registerupdate calculations.The Operating Mode Register (OMR) is set tothe initial value after SYStem.Up. Values of bits MA, MB and MC of
the OMR register are preserved.The program counter is set to
zero. All interrupts are masked by setting the Status Register (SR)to 0x300.
Family 56300 and 56720 DualcoreThe eight 24-bit modifier registers M[0-7] are set to 0xFFFFFF.This specifies linear arithmetic as the default type for addressregister update calculations. The Operating Mode Register (OMR)is set to the initial value after SYStem.Up. Values of bits MA, MB,MC and MD of the OMR register are preserved. All interrupts aremasked by setting Status Register (SR) to 0x300. The programcounter is set to zero.
Family 56800 and 56800EThe eight 16-bit modifier registers M[0-7] are set to 0xFFFF. Thisspecifies linear arithmetic as the default type for address registerupdate calculations. The Operating Mode Register (OMR) is set tothe initial value after SYStem.Up. Values of bits MA and MB of theOMR register are preserved. All interrupts are masked by settingStatus Register (SR) to 0x300. The program counter is set to zero.
HCS08 The Program Counter is set to the value read at 0xFFFE. The
Stack Pointer SP is set to 0xFF and the CCR is set to 0x68. Allother registers are set to zero.
HC11 The Program Counter is set to the value read at 0xFFFE. TheStack Pointer SP is set to a default value dependent on thederivative. The CCR is set to 0xD8. All other registers are set tozero.
HC12/S12/S12X The Program Counter is set to the value read at 0xFFFE. The CCRis set to 0xD8. All other registers are set to zero.
MIPS32/MIPS64/NEC-VR Program Counter, Status register and Config register are set totheir initial values after reset (read during SYStem.Up). PRID andCause register are updated, all other registers are set to zero.
MMDSP Sets all registers to their initial value after a reset. This is done via
a soft reset of the core.
NOTE: This may have effects besides updating the contents ofarchitectural registers.
PowerPC Program counter and MSR are set to their initial values after reset
(read during SYStem.Up). GPRs and SPR appearing in theRegister window are set to zero.
CPU Behavior of Register.Init
http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/
-
8/18/2019 General Ref r
12/48
General Commands Reference Guide R 12 Register ©1989-2015 Lauterbach GmbH
Microblaze All registers are set to zero.
PCP All registers are set to zero.
Teak MOD0 and MOD0S registers SATA bit is set. MOD1 and MOD1Sregsiters CMD bit is set. MOD3 and MOD3S registers CREP, CPC
and CCNTA bits are set.All other registers are set to zero.
Teaklite/Teaklite-II/Oak All registers are set to zero.
Teaklite-III MOD2 register SATA and SATP bits are set.All other registers are set to zero.
x86 EDX is set to a cpu specific value defining the family/model/ stepping of the core if a SYStem.Up has been executed at some
point before, otherwise EDX is set to 0.EAX,EBX,ECX,ESI,EDI,ESP,EBP are set to 0.EIP is set to 0xFFF0 and EFLAGS to 2.CR0 is set to 0x60000010 and CR2-4 to 0.DR0-3 are set to 0. DR6 to 0xFFFF0FF0 and DR7 to 0x400.IDT and GDT: Base = 0 and Limit = 0xFFFF.LDT and TR: Selector = 0, Base = 0, Limit = 0xFFFF, Access =0x82.CS: Selector = 0xF000, Base = 0xFFFF0000, Limit = 0xFFFF,
Access = 0x93.DS,ES,FS,GS,SS: Selector = 0, Base = 0, Limit = 0xFFFF, Access
= 0x93.NOTE: In a multicore system the above holds for the mainbootstrap processor. For the other processors the followingdifferences apply: EIP is set to 0x10000 and CR0 to 0x10.
TMS320 All registers except SSR, IER and TSR are set to zero.
TriCore All registers are set to zero with the following exceptions:The initial values for registers PC, PSW, ISP and BTV are readfrom the CPU at SYStem.Up.If this is not possible the following default values are assumed:
PC=0xA0000020 (AURIX and later), 0xA0000000 (otherwise)PSW=0x00000B80BTV=0xA0000100ISP=0x00000100
XTENSA All registers are set to zero.
ZSP All registers are set to zero.
CPU Behavior of Register.Init
http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/
-
8/18/2019 General Ref r
13/48
General Commands Reference Guide R 13 Register ©1989-2015 Lauterbach GmbH
See also
■ Register ■ Register.view
▲ ’Register and Peripherals’ in ’ICE User’s Guide’
Register.LOG Log registers
Writes the selected registers to the AREA window whenever the program execution stops. The output can
be redirected to any named AREA window. The output of any AREA windows can also be redirected to afile.
See also
■ Register ■ Register.view
Format: Register.LOG [ ] …[ / ]
: ALL
: AREA
AREA.Create REG_LOG ; set-up an AREA window named
; REG_LOG
AREA.OPEN REG_LOG regfile.log ; write all outputs to the
; AREA window REG_LOG also to the
; file regfile.log
AREA.view REG_LOG ; display the AREA window REG_LOG; in TRACE32
Register.LOG ALL /AREA REG_LOG ; log the contents of all registers
; at every program stop to the
; AREA window REG_LOG
…
Register.LOG ; end the register logging
AREA.CLOSE REG_LOG ; close the file regfile.log
http://ice_user.pdf/http://ide_ref.pdf/http://ice_user.pdf/http://ide_ref.pdf/
-
8/18/2019 General Ref r
14/48
General Commands Reference Guide R 14 Register ©1989-2015 Lauterbach GmbH
Register.REFRESH Refresh register window
Forces the debugger to re-read all processor registers from the target and refresh the Register window.
Use this command, if your registers might have changed. The timebase registers of the PowerPCprocessors for example change permanently even when the program execution is stopped.
See also
■ Register ■ Register.view
Register.RELOAD Reload the compiler register settings
Re-write the initialization values of the last Data.LOAD command into the appropriate processor registers.
See also
■ Register ■ Register.view
▲ ’Release Information’ in ’Release History’
Format: Register.REFRESH
NOTE: Whenever the program execution is stopped, the Register window gets refreshedautomatically.
Format: Register.RELOAD
http://general_ref_d.pdf/http://release.pdf/http://release.pdf/http://general_ref_d.pdf/
-
8/18/2019 General Ref r
15/48
General Commands Reference Guide R 15 Register ©1989-2015 Lauterbach GmbH
Register.Set Modify register contents
Sets to the specified .
The Register.Set command is also invoked by a double click to the register contents or by choosing Set …in the Register pull-down menu.
See also
■ Register ■ Register.view
❏ Register()
▲ ’Register and Peripherals’ in ’ICE User’s Guide’
▲ ’Release Information’ in ’Release History’
▲ ’Registers’ in ’Debugger Basics - Training’
▲ ’Registers’ in ’Training FIRE Basics’▲ ’Registers’ in ’Training ICE Basics’
Format: Register.Set [ ] [ /Task ]
: D0 | D1 | D2 | D3 | …
Register.Set PC start ; set the Program Counter to the label
; start
Register.Set D0 Register(D0)+1 ; increment register contents
http://general_func.pdf/http://ice_user.pdf/http://release.pdf/http://training_debugger.pdf/http://training_fire.pdf/http://training_ice.pdf/http://training_ice.pdf/http://training_fire.pdf/http://training_debugger.pdf/http://release.pdf/http://ice_user.pdf/http://general_func.pdf/
-
8/18/2019 General Ref r
16/48
General Commands Reference Guide R 16 Register ©1989-2015 Lauterbach GmbH
Register.StackTop Define stack top address
Limits the display of the stack in the register window. When the stack is below or equal to this address its
contents will not be displayed.
See also
■ Register ■ Register.view
❏ Register()
Format: Register.StackTop
Register.StackTop 0x14000 ; limit the stack display in the
; register window to address
; 0x14000
http://general_func.pdf/http://general_func.pdf/
-
8/18/2019 General Ref r
17/48
General Commands Reference Guide R 17 Register ©1989-2015 Lauterbach GmbH
Register.view Display registers
Display the general purpose registers. For some CPUs additional information is displayed if the
Register.view window is dragged to its full size.
Format: Register.view [ / ]
: SpotLightStack ForeGroundSet | BackGroundSet | SystemSet | TemporarySetCORE
REGSET | Current | PreviousTASK | . | " "
SpotLight Highlight changed registers.
Registers changed by the last program run/single step are markedin dark red. Registers changed by the second to last program run/
single step are marked a little bit lighter. This works up to a level of4.
Register.view /SpotLight
Default display
Full display
-
8/18/2019 General Ref r
18/48
General Commands Reference Guide R 18 Register ©1989-2015 Lauterbach GmbH
Stack With Stack : The stack display (A) is shown.
Without Stack : The stack display is hidden.
B. Toggle between:• S = Addresses relative to the stack pointer
• F = Addresses relative to the frame pointer• C = Addresses relative to the canonical frame address
C. Clicking the Stack button in the Register.view window lets youshow/hide the stack display on the fly.
ForeGroundSet (TRACE32-ICE only)Display the registers of the application program.
TRACE32-ICE allows to run a background program. The
background program is always executed, when the execution ofthe application program stopped. The purpose of the backgroundprogram can be to maintain interrupts, refresh memory or triggerwatchdogs in the target.
BackGroundSet (TRACE32-ICE only)
Display the registers of the background program.
SystemSet The TRACE32-internal register set is a temporary buffer withinTRACE32. This buffer is used to hold a copy of the CPU registers.Commands like Register.Copy, Register.SWAP are using thisTRACE32-internal register set.
TemporarySet (diagnosis purpose only)
Register.COPY ; copy general purpose registers into the
; TRACE32-internal register set
Go ; start program execution
Break ; stop program execution
Register.view /SystemSet ; display TRACE32-internal register set
B
C
A
-
8/18/2019 General Ref r
19/48
General Commands Reference Guide R 19 Register ©1989-2015 Lauterbach GmbH
See also
■ Go.direct ■ Register
■ Register.Init ■ Register.LOG
■ Register.REFRESH ■ Register.RELOAD
■ Register.Set ■ Register.StackTop
❏
PP() ❏
Register() ❏ Register.LIST()
▲ ’CPU specific Implementations’ in ’MIPS Debugger and Trace’
▲ ’Register and Peripherals’ in ’ICE User’s Guide’
▲ ’Release Information’ in ’Release History’
CORE (SMP debugging only)The TRACE32 GUI displays the context (registers, cache,
memory …) of the currently selected core if SMP debugging isperformed. The option CORE allows to display the register set ofanother core.
CORE.select CORE 1 ; advise TRACE32 to display the; context of core 1
Register.view ; display the registers of the
; current context
Register.view /CORE 0 ; display the registers for core 0
REGSET (processor-specific)
MIPS architecture: Display the specified shadow register set.
SH2A architecture: Display the specified register bank.
TASK | . | " " Display the register set of the specified task.
Register.view /TASK 0x41498 ;
;
Register.view /TASK "thread 0" ;
http://general_ref_g.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://debugger_mips.pdf/http://ice_user.pdf/http://release.pdf/http://release.pdf/http://ice_user.pdf/http://debugger_mips.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_ref_g.pdf/
-
8/18/2019 General Ref r
20/48
General Commands Reference Guide R 20 RESet ©1989-2015 Lauterbach GmbH
RESet
Resets all commands.
RESet Reset all commands
(E) All commands of the emulator are reset to their default state.
(B) (BDM Debugger) All commands of the BDM-debugger are reset to their default state.
(B) (ROM Monitor) Switches off the EPROM simulator and resets the mapping system to its default state.
The target CPU is reset only if the RES pin of one adapter is connected and adapted to the target CPU.
See also
■ SYStem.RESet
▲ ’RESET’ in ’EPROM/FLASH Simulator’
Format: RESet
http://general_ref_s.pdf/http://eprom_simulator.pdf/http://eprom_simulator.pdf/http://general_ref_s.pdf/
-
8/18/2019 General Ref r
21/48
General Commands Reference Guide R 21 RTP ©1989-2015 Lauterbach GmbH
RTP
RTP.CLEAR Clear tracebuffer
see command RTP.CLEAR in 'RAM Trace Port' (trace_rtp.pdf, page 7)
RTP.DirectDataMode tbd.
see command RTP.DirectDataMode in 'RAM Trace Port' (trace_rtp.pdf, page 8)
RTP.DirectDataMode.Mode Direct data mode read/write
see command RTP.DirectDataMode.Mode in 'RAM Trace Port' (trace_rtp.pdf, page 8)
RTP.HaltOnOverflow Halt system on RTP FIFO overflow
see command RTP.HaltOnOverflow in 'RAM Trace Port' (trace_rtp.pdf, page 9)
RTP.Mode Selects the trace mode
see command RTP.Mode in 'RAM Trace Port' (trace_rtp.pdf, page 9)
RTP.OFF Disables the RTP module
see command RTP.OFF in 'RAM Trace Port' (trace_rtp.pdf, page 9)
RTP.ON Activates the RTP module
see command RTP.ON in 'RAM Trace Port' (trace_rtp.pdf, page 10)
http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/
-
8/18/2019 General Ref r
22/48
General Commands Reference Guide R 22 RTP ©1989-2015 Lauterbach GmbH
RTP.PortClock Configure RTPCLK
see command RTP.PortClock in 'RAM Trace Port' (trace_rtp.pdf, page 11)
RTP.PortSize Size of RTP data port
see command RTP.PortSize in 'RAM Trace Port' (trace_rtp.pdf, page 10)
RTP.Register Display the RTP register
see command RTP.Register in 'RAM Trace Port' (trace_rtp.pdf, page 10)
RTP.RESet Resets RTP settings
see command RTP.RESet in 'RAM Trace Port' (trace_rtp.pdf, page 11)
RTP.state Display RTP setup
see command RTP.state in 'RAM Trace Port' (trace_rtp.pdf, page 12)
RTP.TraceMode tbd.
see command RTP.TraceMode in 'RAM Trace Port' (trace_rtp.pdf, page 13)
RTP.TraceMode.RAM.SECTion Configures a trace region
see command RTP.TraceMode.RAM.SECTion in 'RAM Trace Port' (trace_rtp.pdf, page 13)
RTP.TraceMode.TraceExclude Invert all trace regions
see command RTP.TraceMode.TraceExclude in 'RAM Trace Port' (trace_rtp.pdf, page 14)
http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/http://trace_rtp.pdf/
-
8/18/2019 General Ref r
23/48
General Commands Reference Guide R 23 RTP ©1989-2015 Lauterbach GmbH
-
8/18/2019 General Ref r
24/48
General Commands Reference Guide R 24 RTS ©1989-2015 Lauterbach GmbH
RTS
RTS Real-time profiling (RTS)
Real-time profiling (RTS) is a trace mode that processes the trace data being recorded from the target
while the target is running. This is in contrast to the “classical flow trace” (accessed via the command) which uploads and processes the trace data only after the target stopped.
The operation mode of RTS is controlled by the commands RTS.ON (enabled), RTS.OFF (disabled), and
RTS.LOAD. The states enabled / disabled control which source of trace data is analyzed by the commands
COVerage and ISTATistic.
• If RTS is enabled , the trace data is taken from the RTS database.
• If RTS is disabled , the trace data is taken from the FIFO memory of the POWER TRACE module.
The following figure provides an overview of the sources of trace data accessed by various commands.
* With a FIFO memory of up to 4GB.** The maximum database size depends on the disk size of the host computer.
RTS.LOAD mounts an RTS file, so that the above commands operate on the file data instead of on live
recorded data. To create an RTS file, enable one of the options of RTS.FileMode while recording trace datain mode RTS.ON.
For more information on host system requirements, system setup and for a quick start guide, see ”ARM-ETM RTS User’s Guide” (rts_user.pdf).
See also
■ COVerage ■ RTS.COVerage ■ RTS.FILE ■ RTS.FileCompression
■ RTS.FileLimit ■ RTS.FileMode ■ RTS.Init ■ RTS.ISTATistic
■ RTS.List ■ RTS.ListNesting ■ RTS.LOAD ■ RTS.NestingMode
■ RTS.OFF ■ RTS.ON ■ RTS.PROfile ■ RTS.RESet
■ RTS.state ■ RTS.STATistic ■ RTS.StopOnError ■ RTS.StopOnFifofull
■ RTS.TASKMode ■ RTS.TImeMode ❏ RTS.ERROR() ❏ RTS.RECORDS()
▲ ’Release Information’ in ’Release History’
RTSenabled?
NO
RTSDatabase**
POWER TRACEmodule*
.List
.STATistic
(...)
RTS.List
RTS.ListNesting
RTS.STATistic
COVerageISTATistic
YES
http://general_ref_t.pdf/http://general_ref_c.pdf/http://general_ref_i.pdf/http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/http://general_ref_c.pdf/http://general_func.pdf/http://general_func.pdf/http://release.pdf/http://general_ref_c.pdf/http://general_ref_i.pdf/http://release.pdf/http://rts_user.pdf/http://rts_user.pdf/http://general_func.pdf/http://general_func.pdf/http://general_ref_c.pdf/http://general_ref_i.pdf/http://general_ref_c.pdf/http://general_ref_t.pdf/http://general_ref_i.pdf/http://general_ref_c.pdf/
-
8/18/2019 General Ref r
25/48
General Commands Reference Guide R 25 RTS ©1989-2015 Lauterbach GmbH
RTS.COVerage Code coverage
The (deprecated) RTS.COVerage command is an alias for the command COVerage for code coverage
analysis. RTS supports the subset of the COVerage commands listed below:
See also
■ RTS ■ RTS.state
Format: RTS.COVerage
List obsolete - use COVerage.List instead.
ListModule obsolete - use COVerage.ListModule instead.
ListFunc obsolete - use COVerage.ListFunc instead.
ListLine obsolete - use COVerage.ListLine instead.
Set obsolete - use COVerage.Set instead.
Delete obsolete - use COVerage.Delete instead.
NOTE: Another option for displaying the coverage information is the command
Data.List /COV
When using this command, it is necessary to have some RTS.COVerage windowopen to keep the contents of the Data.List window updated.
http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_l.pdf/http://general_ref_l.pdf/http://general_ref_c.pdf/http://general_ref_l.pdf/http://general_ref_l.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/http://general_ref_c.pdf/
-
8/18/2019 General Ref r
26/48
General Commands Reference Guide R 26 RTS ©1989-2015 Lauterbach GmbH
RTS.FILE Set the name for the RTS file
RTS.FILE sets the name of the RTS used in the modes RTS.ON and RTS.LOAD. The default
name is t32.rts. The current file name is displayed in the RTS.state window.
In mode RTS.ON, the file name is used for creating the file in which trace data and analysis results arestored. This feature is controlled by the options of RTS.FileMode.
In mode RTS.LOAD, the file is mounted as source of trace data and analysis results.
See also
■ RTS ■ RTS.state
RTS.FileCompression Set compression level for the RTS file
RTS.FileCompression sets the compression level for writing the RTS file. When choosing thecompression level, consider that a higher level requires more processing resources and therefore may
cause that processing on the host cannot keep up with the data recorded. You may want to experimentto find the best compression rate for your application.
Refer to the ”ARM-ETM RTS User’s Guide” (rts_user.pdf) for additional performance considerations.
See also
■ RTS ■ RTS.state
Format: RTS.FILE
Format: RTS.FileCompression OFF | LOW | MID | HIGH
OFF No compression
LOW Uses a fast compression algorithm
MID Uses an algorithm with a good trade-off between speed and space reduction.
HIGH Uses an algorithm with a high best compression rate and high requirements
regarding processing resources
http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/
-
8/18/2019 General Ref r
27/48
General Commands Reference Guide R 27 RTS ©1989-2015 Lauterbach GmbH
RTS.FileLimit Set size limit for the RTS file
The command sets the maximum size allowed for an RTS file. If the maximum size is reached, streaming is
stopped. When setting the file limit consider that the file still can grow in size and thus exceed the set limit,
when closing streaming with RTS.OFF because the streaming data base is written to the file.
The limit value is given in bytes and can have a positive or negative sign:
• Positive value: the maximum size of the RTS file in bytes
• Negative value: specifies the amount of space to leave on the disk before stopping streaming.The maximum file size is calculated based on the amount of available disk space at the time of
starting streaming.
The default setting is -1.000.000.000 i.e. stops streaming when less than a GB of space is left on the mass
storage medium.
See also
■ RTS ■ RTS.state
Format: RTS.FileLimit
NOTE: The file limit and the name of the RTS file must be set before starting streaming.Later changes are not taken into account.
-
8/18/2019 General Ref r
28/48
General Commands Reference Guide R 28 RTS ©1989-2015 Lauterbach GmbH
RTS.FileMode Select the data to write to the RTS file
RTS is able to write the recorded trace data and processing results to an RTS file. RTS.FileMode
specifies which types of data are written to the RTS file.
The desired file mode must be set before invoking RTS.ON because at this point the RTS file is created. Thefile is closed by RTS.OFF after writing all pending data.
The following table list the options in ascending order of saved detail and required space:
The commands RTS.List and RTS.ListNesting only work with RTS.FileMode.FULL. Also othercommands depend on the level of detail in the RTS file. The following table lists the RTS command
families and the respective RTS.FileMode option required.
See also■ RTS ■ RTS.state
Format: RTS.FileMode OFF | Summary | Tasks | FULL
OFF No RTS file is created.
Summary The results of the program flow analysis and the contents of the virtualmemory are saved after the analysis.
Tasks Task switch information is saved in addition to the data saved for “summary”.
FULL The complete trace data is saved in addition to the data stored for the previousmodes. With the option FULL, trace files can reach various GBs of size and are
only limited by the space available on the hard disk.
Command Group Required RTS.FileMode
RTS.STAT.*,RTS.ISTAT.*,Data.List /ISTAT
With RTS.ON : always available, also with RTS.FileMode.OFF With RTS.LOAD : requires RTS.FileMode.Summary or higher
RTS.Chart With RTS.ON and RTS.LOAD : requires RTS.FileMode.Tasks or highertbd.
RTS.List,RTS.ListNesting
With RTS.ON and RTS.LOAD : requires RTS.FileMode.FULL
NOTE: When writing trace data to the RTS file, the RTS session needs to be closed with
RTS.OFF to flush pending data to disk.
http://general_ref_l.pdf/http://general_ref_l.pdf/
-
8/18/2019 General Ref r
29/48
General Commands Reference Guide R 29 RTS ©1989-2015 Lauterbach GmbH
RTS.Init Initialize RTS
Initializes RTS by clearing the result data base and internal data structures. In particular the command
also clears the data bases for ISTATistic and COVerage.
RTS.Init does not reset the processing options like RTS.RESet.
See also
■ RTS ■ RTS.state
RTS.ISTATistic Statistics regarding instruction execution
RTS.ISTATistic implements the ISTATistic functionality for RTS.
The .ISTATistic commands work on a data base of coverage information concerning individualmachine instructions. This is in contrast to the RTS.STATistic command working on the results of theanalysis of the function call patterns.
While RTS is active (mode RTS.ON), the ISTAT result data base and all dependent ISTATistic viewsare updated when new trace data becomes available because the target is executing code.
The command RTS.ISTATistic.List creates a view on the data base with the granularity of sequentiallyexecuted code blocks (the code blocks defined by waypoints) and is agnostic of symbols or lines of sourcecode. For each code block, a number of metrics like execution time, code coverage in percent, clock cyclesused are shown.
Format: RTS.Init
Format: RTS.ISTATistic |
:
ListListModuleListFuncListLine
:
DeleteSet
http://general_ref_i.pdf/http://general_ref_c.pdf/http://general_ref_i.pdf/http://general_ref_i.pdf/http://general_ref_c.pdf/http://general_ref_i.pdf/
-
8/18/2019 General Ref r
30/48
General Commands Reference Guide R 30 RTS ©1989-2015 Lauterbach GmbH
The commands RTS.ISTATistic.ListModule, RTS.ISTATistic.ListFunc, RTS.ISTATistic.ListLine eachcreate a tree view on the data base accumulating the respective values for the following source codeentities:
• Modules (usually a compilation unit like an object file or a library),
• Functions or
• Source lines.
This forms a hierarchical structure that can be displayed in a tree because a source line is part of a functionwhich in turn is member of a module. Accordingly the only difference between these functions is, whichbranches of the tree are initially open.
The following table lists the view options.
The options Delete and Set allow to manually modify the contents of the ISTAT data base:
For further information please refer to .ISTATistic.
See also
■ RTS ■ RTS.state
List Creates a view with the granularity of executed code blocks.
ListModule Creates a view showing statistics data for modules, with the option to open thetree to inspect functions and source lines. The values shown for modules are
those accumulated from all its functions (and consequently all its source lines).
ListFunc Creates a view showing statistics data for functions
ListLine Creates a view showing statistics data for source lines
Delete Delete the coverage information for an address or address range from theISTAT data base, therefore essentially marking the area as not executed.
Set Marks an address or address range as executed in the ISTAT data base.
NOTE: Another option for displaying the coverage information is the command
Data.List /ISTAT
When using this command, it is necessary to have some RTS.ISTAT window opento keep the contents of the Data.List window updated.
http://general_ref_l.pdf/http://general_ref_l.pdf/
-
8/18/2019 General Ref r
31/48
General Commands Reference Guide R 31 RTS ©1989-2015 Lauterbach GmbH
RTS.List List recorded trace data
RTS.List shows the recorded trace data.
In contrast to the other trace modes, in mode RTS.ON, the contents is updated while the target is running.
As well in mode RTS.ON as in mode RTS.LOAD, the command RTS.List works on the data read from anRTS file (rather than the analyzer buffer). As the size of the file is only limited by the hard disk, RTS.List works on virtually unlimited amounts of trace data.
Therefore RTS.List requires the option RTS.FileMode.FULL.
For a description of the options please refer to the command .List.
See also
■ RTS ■ RTS.state
Format: RTS.List
: formatsoptionsDEFaultALLcpulines
ListMARKSPARESTREAMDIAG
CAVEAT: This feature is not yet supported with the PTM trace protocol.
Note: The Trace.List command is available also in mode RTS.ON. However, it will onlydisplay data, when the target is stopped and after RTS has processed all pendingdata. The difference is that the command Trace.List shows the data available in
the analyzer's buffer (a maximum of 4GB) while RTS.List works on the trace datain the RTS file.
The command RTS.List is not designed to work with data that contains errors. Forlocalizing errors in the trace data stream use Trace.List instead. For details, seethe section “Avoiding and Fixing Processing Errors” in ”ARM-ETM RTSUser’s Guide” (rts_user.pdf).
http://general_ref_t.pdf/http://general_ref_t.pdf/http://general_ref_t.pdf/http://general_ref_t.pdf/http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/http://general_ref_t.pdf/http://general_ref_t.pdf/http://general_ref_t.pdf/http://general_ref_t.pdf/
-
8/18/2019 General Ref r
32/48
General Commands Reference Guide R 32 RTS ©1989-2015 Lauterbach GmbH
RTS.ListNesting Display function call nesting
Displays the recorded trace data in a way that the nesting of function calls is outlined.
RTS.ListNesting requires the options RTS.FileMode.FULL and RTS.NestingMode.TREE.
See .ListNesting for more details and a description of the options.
See also
■ RTS ■ RTS.state
Format: RTS.ListNesting
: formatsoptionsDEFaultALLcpulines
ListMARKSPARESTREAMDIAG
CAVEAT: This feature is not yet supported with the PTM trace protocol.
-
8/18/2019 General Ref r
33/48
General Commands Reference Guide R 33 RTS ©1989-2015 Lauterbach GmbH
RTS.LOAD Mount a file as trace source
Configures the debugger to use the trace data from a pre-recorded RTS file (rather than from the analyzer).Therefore all analysis commands (RTS.ISTATistic, RTS.STATistic, RTS.List, ... ) operate on the data fromthe file.
Using a file for supplying trace data is possible because conceptually all trace commands work on so-called trace sources i.e. on entities providing trace data. Examples for trace sources are a POWERTRACEdevice providing “live” trace data, a RAM area (see RTP) or a file containing previously stored trace data.
If RTS.LOAD is executed with a file name parameter, it is set as default file name (as with RTS.FILE) andthen mounted. Without a parameter, the current file name is used.
In mode RTS.LOAD some or all of the analysis features are available, depending on the data stored in theRTS file (see RTS.FileMode for details). However note, that only the final result is shown e.g. the codecoverage at the end of program execution.
The options like RTS.FunctionMode, RTS.TImeMode, ... are taken from the RTS file and cannot be setmanually. Also the radio button for RTS.ON is disabled while in “load mode” in order to prevent accidentallyoverwriting the existing RTS file. For leaving load mode, switch to RTS.OFF which will enable all options.
For a usage example see the ”ARM-ETM RTS User’s Guide” (rts_user.pdf)
See also
■ RTS ■ RTS.state
Format: RTS.LOAD [ ]
name of the file to mount as trace source and to set as default name
NOTE: For using RTS.LOAD it is necessary to load the program’s symbols (e.g. via
Data.LOAD.ELF ... /NoCODE).
http://trace_rtp.pdf/http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/http://trace_rtp.pdf/
-
8/18/2019 General Ref r
34/48
General Commands Reference Guide R 34 RTS ©1989-2015 Lauterbach GmbH
RTS.NestingMode Set type of program flow analysis
Defines the type of program flow analysis the debugger performs:
See also
■ RTS ■ RTS.state
Format: RTS.NestingMode FLAT | TREE
FLAT Only generates program coverage information regarding individual machineinstructions. As FLAT mode does not analyze the call graph it requires lessprocessing resources than nested mode.The results of the analysis are displayed via the RTS.ISTATistic command.
TREE Analyzes the program’s call graph in addition to the coverage information asdone in mode FLAT.
The results of the analysis are displayed via the RTS.STATistic command.
-
8/18/2019 General Ref r
35/48
General Commands Reference Guide R 35 RTS ©1989-2015 Lauterbach GmbH
RTS.OFF Deactivate real-time profiling
Ends an RTS session and stops recording new data.
If used with an RTS file (see RTS.FileMode), flushes pending data and processing results to disk. This mayrequire some time to complete.
See also
■ RTS ■ RTS.state
RTS.ON Activate real-time profiling
Enables real-time profiling and prepares the debugger for processing trace data. The command RTS.ONshould be invoked before starting the target so the debugger can synchronize to the beginning of the tracedata stream.
If the option RTS.FileMode is enable, the command creates the RTS file. The name of the RTS file is setusing RTS.FILE. By convention the file name should end with the extension “.RTS”.
If necessary, RTS.ON creates a backup of a previous file with the same name by changing the extension to*.bak.
Regarding information how to use the file, see RTS.LOAD and the”ARM-ETM RTS User’s Guide” (rts_user.pdf).
See also
■ RTS ■ RTS.state
Format: RTS.OFF
NOTE: When the RTS file does not contain sensible data (e.g. in the case of an RTS.ON followed immediately by RTS.OFF without processing any data), RTS.OFF deletesthe superfluous RTS file. This avoids overwriting an older, potentially important*.bak file at the next RTS.ON.
Generally for important data, it is advisable to make a copy of the last RTS file or
rename it immediately after ending the RTS sessions.
Format: RTS.ON
http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/http://rts_user.pdf/
-
8/18/2019 General Ref r
36/48
General Commands Reference Guide R 36 RTS ©1989-2015 Lauterbach GmbH
RTS.PROfile Display performance characteristics charts
Displays a window charting the occurrence of events on the vertical axis versus the elapsed time on thehorizontal axis.
Multiple events (up to three) can be displayed in a single window. In this case the events are displayed using
the base colors red, green and blue, including “mixed” colors where ranges overlap. The events areassigned colors according to their position in the command line:
• 1st parameter : red• 2nd parameter : green
• 3rd parameter : blue
The following table explains the event options:
See also■ RTS ■ RTS.state
Format: RTS.PROfile [{ }]
:
MIPSREADSWRITESTaskSwitches
MIPS Number of instructions executed; the term “MIPS” is slightly misleading.
READS Number of memory read operations executed by the core
WRITES Number of memory write operations executed by the core
TaskSwitches Number of task switches performed.
Use the parameter to define the update interval (e.g. 0.5s for two updatesper second).
-
8/18/2019 General Ref r
37/48
General Commands Reference Guide R 37 RTS ©1989-2015 Lauterbach GmbH
RTS.RESet Restore default settings and initialize RTS
RTS.RESet restores the default settings (like RTS.TImeMode.OFF, RTS.FileMode.OFF, ...), and similar
to RTS.Init clears the result data base and re-initializes RTS by resetting all internal data structures.
See also
■ RTS ■ RTS.state
RTS.state Open status and control window
The command RTS.state (short form RTS) opens the RTS status and control window:
This window displays the current status of the RTS system, allows to configure the most important
options and gives access to various analysis options through the buttons at the left side. In the followingwe only describe the fields of the box “utilization”. For a description of the other elements please refer tothe documentation of the respective commands (e.g. for the box NestingMode refer to the command
RTS.NestingMode).
The fields under utilization have the following meaning:
• The colored bar represents the “fill level” of the buffer holding of data awaiting processing. Whenthe buffer overflows, processing will fail. The number is the amount of pending data in MBs.
• state: the state of RTS (yellow: waiting for synchronization pattern in the trace data stream;
green: recording and analyzing trace data; red: an error occurred; blue: not tracing)
• data size: the amount of processed trace data
Format: RTS.RESet
Format: RTSRTS.state
-
8/18/2019 General Ref r
38/48
General Commands Reference Guide R 38 RTS ©1989-2015 Lauterbach GmbH
The field errors displays type of the latest error in plain text and the total accumulated number oferrors of any type. The following errors are handled:
• no access to code : the decoder failed to read the opcodes necessary for decoding the trace
data. Usually this is caused by not copying a range of program code to the debugger’s VM.
• out of memory
• stack overflow, stack underflow : when tracking the program’s calling hierarchy (usingRTS.NestingMode.TREE), the debugger maintains information about invocations on an internal
stack. The error message is output, when this stack overflows or underflows.
• illegal cancel : a cancel message was found in the trace data stream that should not bethere. Applicable only for the ETMV3 protocol.
• flow error : the trace data does not match the executed program. This can be caused byphysical transmission errors of the trace data (bad signal quality on the trace port) or becausesome executed code is missing in the debugger’s VM. Even a single missing or incorrect opcodecan cause this problem.
• vtrace error :
• fatal error :
See also
■ RTS ■ RTS.COVerage ■ RTS.FILE ■ RTS.FileCompression
■ RTS.FileLimit ■ RTS.FileMode ■ RTS.Init ■ RTS.ISTATistic
■ RTS.List ■ RTS.ListNesting ■ RTS.LOAD ■ RTS.NestingMode
■ RTS.OFF ■ RTS.ON ■ RTS.PROfile ■ RTS.RESet
■ RTS.STATistic ■ RTS.StopOnError ■ RTS.StopOnFifofull ■ RTS.TASKMode
■ RTS.TImeMode ❏ RTS.ERROR() ❏ RTS.RECORDS()
http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/
-
8/18/2019 General Ref r
39/48
-
8/18/2019 General Ref r
40/48
General Commands Reference Guide R 40 RTS ©1989-2015 Lauterbach GmbH
RTS.StopOnError Configure behavior regarding minor errors
The option StopOnError (read “stop on minor errors”) controls the behavior of RTS in case of minor
errors like Flow Errors or “no access to code” errors. For more serious errors (out of memory, ...) the RTS
decoder always stops processing.
See also
■ RTS ■ RTS.state
RTS.StopOnFifofull Configure behavior regarding FIFO overflows
The option StopOnFifoFull controls the behavior of RTS in case of overflows of the target’s FIFOs.
See also
■ RTS ■ RTS.state
Format: RTS.StopOnError [ON | OFF]
NOTE: The analysis mode RTS.NestingMode.TREE is rather delicate regarding errorsin the trace data stream as missing calls or return-from-subroutine-operationscan disrupt the analysis of the program flow in a way that cannot be recoveredfrom. Therefore it is important to calibrate the preprocessor using the autofocus
feature.
Format: RTS.StopOnFifofull [ON | OFF]
NOTE: The analysis mode RTS.NestingMode.TREE is rather delicate regarding gapsin the trace data stream as missing calls or return-from-subroutine-operationscan disrupt the analysis of the program flow in a way that cannot be recoveredfrom. Therefore it is important to calibrate the preprocessor using the autofocus
feature.
-
8/18/2019 General Ref r
41/48
General Commands Reference Guide R 41 RTS ©1989-2015 Lauterbach GmbH
RTS.TASKMode Configure task analysis
Defines if the analysis considers task information or not.
In the modes STATIC and DYNAMIC, the task switch information in the trace data stream is used toattribute executed opcodes to the correct task.
See also
■ RTS ■ RTS.state
Format: RTS.TASKMode OFF | STATIC | DYNAMIC
OFF The debugger ignores information about task switches in the trace stream.
STATIC The information regarding (all relevant) tasks is retrieved at the beginning of theanalysis from the RTOS awareness. Tasks that are created later are notincluded in the analysis.
The feature is under development.
DYNAMIC The information regarding newly created and terminated tasks is retrieved
dynamically from the RTOS awareness while the system runs.
The feature is under development.
-
8/18/2019 General Ref r
42/48
General Commands Reference Guide R 42 RTS ©1989-2015 Lauterbach GmbH
RTS.TImeMode Configure analysis of program execution timing
Defines the type of real-time (wall-clock time) information that is gathered and analyzed:
See also
■ RTS ■ RTS.state
Format: RTS.TImeMode OFF | Sampling | CycleAccurate
OFF no real-time information is generated. Use this for plain code coverage andtrace functions.
Sampling Activates a coarse timestamp that is created by the Autofocus preprocessor.It generates very little overhead of trace data at the cost of a lower resolutionthan cycle-accurate tracing. The timestamp is created approximately every1000 cycles of the trace clock.
CycleAccurate Uses the cycle-accurate mode of the chip (e.g. ETMV3 cycle accuratemode). If the amount of generated trace in cycle-accurate mode is too big,
Sampling may be an alternative.
For using cycle accurate mode, it is necessary to inform the debugger about thetargets CPU clock using the command .CLOCK.
CAVEAT: Currently sampling mode is not supported for Coresight systems.
http://general_ref_t.pdf/http://general_ref_t.pdf/
-
8/18/2019 General Ref r
43/48
General Commands Reference Guide R 43 RunTime ©1989-2015 Lauterbach GmbH
RunTime
RunTime Runtime measurement
The RunTime command group and the RunTime() functions allow to measure the time that the target
executed code i.e. the so-called “runtime”. The runtime starts with the target reset and increments while thetarget executes program code. The target runtime is frozen, while the target is stopped.
There are different methods of measuring the runtime with different accuracies. The available methods
depend on the target hardware and the debug interface (debugger-based vs. trace-based or emulator-based).
See also
■ RunTime.Init ■ RunTime.refA ■ RunTime.refB ■ RunTime.RESet
■ RunTime.state ❏ RunTime.ACCURACY() ❏ RunTime.ACTUAL() ❏ RunTime.LAST()
❏ RunTime.LASTRUN() ❏ RunTime.REFA() ❏ RunTime.REFB()
▲ ’Release Information’ in ’Release History’
Runtime Measurements Using the Debugger
The RunTime counter allows to measure the program execution times between two breakpoints. Theaccuracy of the measurement depends on the features provided by the debug interface. The measurementerror is displayed as tooltip text.
Or by the function
RunTime.ACCURACY()
http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://release.pdf/http://general_func.pdf/http://release.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/
-
8/18/2019 General Ref r
44/48
General Commands Reference Guide R 44 RunTime ©1989-2015 Lauterbach GmbH
There is a number of different CPU and debugger features related to measuring runtime. The following tablegives an overview. For details, see further down.
“CPU running” signal
Some processor architectures provide a “CPU running” signal within the debug interface (e.g. DBACK forARM7/ARM9). This feature allows an exact measurement by the RunTime counter.
Debug Status Messages
Most NEXUS interfaces provide Debug Status Messages which indicate the start/stop of the program
execution. The maximum measurement error is calculated as follows:
clock cycles
While MCKOFactor is the value entered via the command SYStem.Option MCKO .
Hardware signal indicating “CPU stopped”
Some processor architectures provide a “CPU stopped” signal within the debug interface (e.g. DE for theDSP56K). This feature allows an exact stop of the RunTime counter, but the start of the RunTime countercan´t be synchronized exactly with the start of the program execution.
Polling
For most processor architectures the RunTime counter is started/stopped by TRACE32. Thus themeasurement can’t be exactly synchronized with the CPU start/stop.
The polling rate can be set with the SYStem.POLLING command. Any polling interval smaller than 1 ms isignored.
Feature RunTime counteris started...
Runtime counter isstopped...
Accuracy
“CPU running”
signal
...after detecting the
“CPU running” signal
... after deassertion of the
“CPU running” signal
High
NEXUS DebugStatus Message
... after receiving the“Debug Mode Left”message
... after receiving the“Debug Mode Entered”message
High
“CPU stopped”signal
...by TRACE32 afterstarting the CPU
...with the activation of the“CPU stopped” signal
RunTime counterstart is imprecise
Polling the PC ...by TRACE32 afterstarting the CPU
...by TRACE32 after CPU isstopped
RunTime counterstart and stop areimprecise
SizeOfMessageFifo 2 MCKOFactor
http://general_ref_s.pdf/http://general_ref_s.pdf/
-
8/18/2019 General Ref r
45/48
General Commands Reference Guide R 45 RunTime ©1989-2015 Lauterbach GmbH
Runtime Measurements Using TRACE32-ICE / TRACE32-FIRE
The runtime analyzer allows to check program execution times between two breakpoints. Therefore aindependent timing analyzer is available to the user. The resolution of runtime measurement is 100 ns. Tworeference points may be set in order to evaluate time differences. Total time, as well as the previousemulation command execution time, is automatically recorded. The differences between the individualreference points are displayed in tabular form. Only the execution time of the foreground program is
measured. The execution time of the background program is not taken into consideration (only TRACE32-
ICE).
Measurement errors due to break sequence
As a result of the break sequence of each individual emulator an absolute timing error of approximately0.5 … 5 µs occurs. This timing error is dependent upon the CPU's clock frequency and the type of theemulation adapter used. The timing error can only precisely be determined by using time-stamp unit of thelogic analyzer. For complex CPUs, additional timing errors in single-step operation can occur during cache
memory fill. The timing error can be determined to some extent once a program has been executed byexecuting first one, and then a set of NOP commands.
Timing errors due to dual-port accessIn Wait mode, dual-port access requires up to 1% of total computing time; in Request mode, this can beincreased up to 3%. These values are valid for average clock frequencies and when using dynamic memory.By using static memory only, these values will be reduced to one-third. If operating in Denied or Nodelay (GAP, Refresh, Prefetch) mode, no computing will be needed for dual-port access.
http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/
-
8/18/2019 General Ref r
46/48
General Commands Reference Guide R 46 RunTime ©1989-2015 Lauterbach GmbH
Functions related to RunTime
The following functions can be used to obtain various runtime-related values. All the functions return theabsolute time the target executed (the “runtime”) since the latest SYStem.Up or RunTime.Init command.
• RunTime.ACTUAL() returns the runtime elapsed until the current moment.
• RunTime.LAST() returns the time of the latest start of program execution e.g. caused by a single
Step or Go command.
• RunTime.REFA() returns the reference value A. There is a homonymous command to set thevalue.
• RunTime.REFB() returns the reference value B. There is a homonymous command to set thevalue.
• RunTime.LASTRUN() returns the length of the last execution period (e.g. of a single step or thetime between a Go and a Break ). The value is calculated by:
• RunTime.ACCURACY() returns a measure of the inaccuracy of the runtime values (depends onthe measurement method used).
RunTime.Init Clear timers
Sets all timers and reference values to zero.
See also
■ RunTime ■ RunTime.state
▲ ’Emulator Functions’ in ’FIRE User’s Guide’
▲ ’Execution Time Measurement’ in ’ICE User’s Guide’
&difftime=CONV.TIMEUSTOINT(RUNTIME.ACTUAL()-RUNTIME.LAST())
Format: RunTime.Init
http://general_ref_s.pdf/http://general_ref_s.pdf/http://general_ref_g.pdf/http://general_ref_g.pdf/http://general_ref_b.pdf/http://fire_user.pdf/http://ice_user.pdf/http://ice_user.pdf/http://fire_user.pdf/http://general_ref_b.pdf/http://general_ref_g.pdf/http://general_ref_g.pdf/http://general_ref_s.pdf/http://general_ref_s.pdf/
-
8/18/2019 General Ref r
47/48
-
8/18/2019 General Ref r
48/48
RunTime.state Display results
Displays the RunTime counter window with a matrix of values related to runtime measurements.
Each cell of the matrix shows the difference between the value denoted by the column header and the valuedenoted by the row header . As the first line’s row header is “zero”, the line shows the effective values e.g.
(refA - 0), (refB - 0), ... The cell at (column refB / row ref A) shows refB - refA i.e. the runtime between bothvalues.
Reference values can be set to the current runtime (“actual”) by double-clicking the appropriate element.
See also
■ RunTime ■ RunTime.Init ■ RunTime.refA ■ RunTime.refB ■ RunTime.RESet ❏ RunTime.ACCURACY() ❏ RunTime.ACTUAL() ❏ RunTime.LAST()
❏ RunTime.LASTRUN() ❏ RunTime.REFA() ❏ RunTime.REFB()
▲ ’Emulator Functions’ in ’FIRE User’s Guide’
▲ ’Execution Time Measurement’ in ’ICE User’s Guide’
▲ ’Release Information’ in ’Release History’
Format: RunTime.stateRunTime.view (deprecated)
Time since the latest program start
Total time since the lastSYStem.Up or RunTime.Init
http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://fire_user.pdf/http://ice_user.pdf/http://release.pdf/http://general_ref_s.pdf/http://release.pdf/http://ice_user.pdf/http://fire_user.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_func.pdf/http://general_ref_s.pdf/