Professional Documents
Culture Documents
REFresh ....................................................................................................................................
Function
REFresh.Address
REFresh.CYcle
REFresh.Inc
REFresh.OFF
REFresh.RESet
Access mode
Address distance
Switch off
Reset command
REFresh.StandBy
Standby mode
REFresh.state
Status display
REFresh.Time
Refresh rate
Register ....................................................................................................................................
Register
Register.Init
Register.LOG
Register.REFRESH
Processor registers
Log registers
13
14
14
15
16
Display registers
17
RESet ........................................................................................................................................
20
Register.RELOAD
Register.Set
Register.StackTop
Register.view
RESet
20
RTP ...........................................................................................................................................
21
RTP.CLEAR
Clear tracebuffer
21
tbd.
21
21
21
21
RTP.OFF
21
RTP.ON
21
Configure RTPCLK
22
22
RTP.DirectDataMode
RTP.DirectDataMode.Mode
RTP.HaltOnOverflow
RTP.Mode
RTP.PortClock
RTP.PortSize
1989-2015 Lauterbach GmbH
RTP.Register
RTP.RESet
RTP.state
RTP.TraceMode
RTP.TraceMode.RAM<x>.SECTion<y>
RTP.TraceMode.TraceExclude
22
22
tbd.
22
22
22
RTS ...........................................................................................................................................
RTS
RTS.FileCompression
24
24
Code coverage
25
26
RTS.COVerage
RTS.FILE
22
26
27
28
Initialize RTS
29
29
31
RTS.ListNesting
32
RTS.LOAD
33
RTS.FileLimit
RTS.FileMode
RTS.Init
RTS.ISTATistic
RTS.List
RTS.NestingMode
34
35
35
RTS.PROfile
36
RTS.RESet
37
37
39
40
RTS.OFF
RTS.ON
RTS.state
RTS.STATistic
RTS.StopOnError
RTS.StopOnFifofull
40
41
42
RunTime ...................................................................................................................................
43
RTS.TASKMode
RTS.TImeMode
RunTime
Runtime measurement
43
43
45
46
RunTime.Init
Clear timers
46
RunTime.refA
Set reference
47
RunTime.refB
Set reference
47
47
Display results
48
RunTime.RESet
RunTime.state
Usage:
(B) command only available for ICD
(E) command only available for ICE
(F) command only available for FIRE
REFresh
Function
The refresh function has to be activated, when a dynamic RAM is on the target system and is refreshed by
the CPU. The refresh function uses burst read cycles for refreshing target memory. Address range and
storage class may be defined.
StandBy
On StandBy mode the refresh burst is forced while no emulation is running.
ref.burst
NOTE:
ref.burst
//////////////////
realtime emulation
ref.burst
ref.burst
This command is for refreshing target DRAMs only, when having dynamic
emulation memory, it is automatically refreshed by dual-port access.
REFresh
REFresh.Address
Format:
REFresh.Address <address_range>
ref.inc 0x0
ref.c
word
ref.a
sd:0x1000++0x0ff
If the REF.Inc value is set to zero, the address range will be define the length of the refresh burst to a single
memory address.
See also
REFresh.state
Refresh Generator in ICE Users Guide
REFresh.CYcle
Access mode
ICE only
Format:
REFresh.CYcle <width>
<width>:
Byte
Word
Long
If on 16 bit CPUs the access type is LONG, refresh is made by 2 refresh cycles. If on 8 bit CPUs the option
WORD or LONG is selected, 2 or 4 cycles are used for one refresh cycle.
See also
REFresh.state
Refresh Generator in ICE Users Guide
REFresh
REFresh.Inc
Address distance
ICE only
Format:
REFresh.Inc <inc>
<inc>:
1.
;
;
;
;
;
cycle time 4 ms
address range 0 to 03ffh
long word
increment 4
switch on refresh operation
; address 1000H
; byte access
; switch refresh on
See also
REFresh.state
Refresh Generator in ICE Users Guide
REFresh.OFF
Switch off
ICE only
Format:
REFresh.OFF
Refresh function is switched to OFF automatically, when the refresh parameters don't fit e.g. an odd address
range together with word size.
See also
REFresh.state
Refresh Generator in ICE Users Guide
REFresh
REFresh.RESet
Reset command
ICE only
Format:
REFresh.RESet
The refresh system is switched to OFF and all refresh parameters are initialized.
See also
REFresh.state
Refresh Generator in ICE Users Guide
REFresh.StandBy
Standby mode
ICE only
Format:
REFresh.StandBy
Refresh cycles will be executed, if real-time emulation is not active. Refresh command may be activated only
when all refresh parameters are correct.
See also
REFresh.state
Refresh Generator in ICE Users Guide
REFresh
REFresh.state
Status display
ICE only
Format:
REFresh.state
See also
REFresh.Address
REFresh.RESet
REFresh.CYcle
REFresh.StandBy
REFresh.Inc
REFresh.Time
REFresh.OFF
REFresh.Time
Refresh rate
ICE only
Format:
REFresh.Time <time>
<time>:
1.0ms 1.0s
Will define the refresh time, if cyclic refresh is selected. This field has no effect on standby-refresh.
ref.t 4.0ms
See also
REFresh.state
Refresh Generator in ICE Users Guide
REFresh
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(<register name>)
PRINT Register(D0)
Register.Set D1 Register(D0)
See also
Register.Init
Register.REFRESH
Register.Set
Register.view
Register()
Register.LOG
Register.RELOAD
Register.StackTop
PP()
Register.LIST()
Register.Init
Format:
Register.Init
Register.RESet (deprecated)
Sets the registers to the same state as after the processor reset. Registers which are undefined after
RESET are set to zero.
B::
SYStem.Up
Register.Init
Register
CPU
Behavior of Register.Init
ARC
STATUS
STATUS32
DEBUG
IRQ_LV12
IENABLE
SEMAPHORE
<=
<=
<=
<=
<=
<=
0x02000000
0x00000001
0x11000000
0x00000002 (Resets any interrupt flags)
0xffffffff
0x00000000
C166
CEVA-X
10
Register
CPU
Behavior of Register.Init
DSP56K
HCS08
HC11
HC12/S12/S12X
The Program Counter is set to the value read at 0xFFFE. The CCR
is set to 0xD8. All other registers are set to zero.
MIPS32/MIPS64/NEC-VR
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 of
architectural registers.
PowerPC
Program counter and MSR are set to their initial values after reset
(read during SYStem.Up). GPRs and SPR appearing in the
Register window are set to zero.
1989-2015 Lauterbach GmbH
11
Register
CPU
Behavior of Register.Init
Microblaze
PCP
Teak
MOD0 and MOD0S registers SATA bit is set. MOD1 and MOD1S
regsiters 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
Teaklite-III
x86
TMS320
All registers except SSR, IER and TSR are set to zero.
TriCore
XTENSA
ZSP
12
Register
See also
Register
Register.view
Register.LOG
Log registers
Format:
<set>:
ALL
<option>:
AREA <name>
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 a
file.
AREA.Create REG_LOG
AREA.view REG_LOG
Register.LOG
AREA.CLOSE REG_LOG
See also
Register
Register.view
13
Register
Register.REFRESH
Format:
Register.REFRESH
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 PowerPC
processors for example change permanently even when the program execution is stopped.
NOTE:
Whenever the program execution is stopped, the Register window gets refreshed
automatically.
See also
Register
Register.view
Register.RELOAD
Format:
Register.RELOAD
Re-write the initialization values of the last Data.LOAD command into the appropriate processor registers.
See also
Register
Register.view
14
Register
Register.Set
Format:
<register>:
D0 | D1 | D2 | D3 |
Register.Set PC start
Register.Set D0 Register(D0)+1
See also
Register
Register()
Register.view
15
Register
Register.StackTop
Format:
Register.StackTop <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.
Register.StackTop 0x14000
See also
Register
Register()
Register.view
16
Register
Register.view
Display registers
Format:
Register.view [/<option>]
<option>:
SpotLight
Stack
ForeGroundSet | BackGroundSet | SystemSet | TemporarySet
CORE <number>
REGSET <number> | Current | Previous
TASK <taskmagic> | <taskid>. | "<taskname>"
Display the general purpose registers. For some CPUs additional information is displayed if the
Register.view window is dragged to its full size.
Default display
Full display
SpotLight
Register.view /SpotLight
17
Register
Stack
B
C
B. Toggle between:
(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 of
the application program stopped. The purpose of the background
program can be to maintain interrupts, refresh memory or trigger
watchdogs in the target.
BackGroundSet
(TRACE32-ICE only)
Display the registers of the background program.
SystemSet
TemporarySet
Register.COPY
Go
Break
Register.view /SystemSet
18
Register
CORE <number>
CORE.select CORE 1
Register.view
Register.view /CORE 0
REGSET <number>
(processor-specific)
MIPS architecture: Display the specified shadow register set.
SH2A architecture: Display the specified register bank.
; <magic>
; <task_id>
; <name>
See also
Go.direct
Register.Init
Register.REFRESH
Register.Set
PP()
Register.LIST()
Register
Register.LOG
Register.RELOAD
Register.StackTop
Register()
19
Register
RESet
Resets all commands.
RESet
Format:
RESet
(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
20
RESet
RTP
RTP.CLEAR
Clear tracebuffer
RTP.DirectDataMode
tbd.
RTP.DirectDataMode.Mode
RTP.HaltOnOverflow
RTP.Mode
RTP.OFF
RTP.ON
21
RTP
RTP.PortClock
Configure RTPCLK
RTP.PortSize
RTP.Register
RTP.RESet
RTP.state
RTP.TraceMode
tbd.
RTP.TraceMode.RAM<x>.SECTion<y>
RTP.TraceMode.TraceExclude
22
RTP
23
RTP
RTS
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 <trace>
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.
POWER TRACE
module*
RTS
enabled?
NO
YES
COVerage
ISTATistic
<trace>.List
<trace>.STATistic
(...)
RTS
Database**
RTS.List
RTS.ListNesting
RTS.STATistic
See also
COVerage
RTS.FileLimit
RTS.List
RTS.OFF
RTS.state
RTS.TASKMode
RTS.COVerage
RTS.FileMode
RTS.ListNesting
RTS.ON
RTS.STATistic
RTS.TImeMode
RTS.FILE
RTS.Init
RTS.LOAD
RTS.PROfile
RTS.StopOnError
RTS.ERROR()
RTS.FileCompression
RTS.ISTATistic
RTS.NestingMode
RTS.RESet
RTS.StopOnFifofull
RTS.RECORDS()
24
RTS
RTS.COVerage
Format:
Code coverage
RTS.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:
List
ListModule
ListFunc
ListLine
Set
Delete
NOTE:
See also
RTS
RTS.state
25
RTS
RTS.FILE
Format:
RTS.FILE <file>
RTS.FILE sets the name of the RTS <file> 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 are
stored. 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
Format:
RTS.FileCompression sets the compression level for writing the RTS file. When choosing the
compression 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 experiment
to find the best compression rate for your application.
Refer to the ARM-ETM RTS Users Guide (rts_user.pdf) for additional performance considerations.
OFF
No compression
LOW
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
See also
RTS
RTS.state
26
RTS
RTS.FileLimit
Format:
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:
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.
NOTE:
The file limit and the name of the RTS file must be set before starting streaming.
Later changes are not taken into account.
See also
RTS
RTS.state
27
RTS
RTS.FileMode
Format:
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. The
file 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:
OFF
Summary
The results of the program flow analysis and the contents of the virtual
memory 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 previous
modes. With the option FULL, trace files can reach various GBs of size and are
only limited by the space available on the hard disk.
The commands RTS.List and RTS.ListNesting only work with RTS.FileMode.FULL. Also other
commands 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.
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
RTS.List,
RTS.ListNesting
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.
See also
RTS
RTS.state
1989-2015 Lauterbach GmbH
28
RTS
RTS.Init
Format:
Initialize RTS
RTS.Init
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
Format:
<view
_option>:
List
ListModule
ListFunc
ListLine
<modification
_option>:
Delete
Set
29
RTS
Functions or
Source lines.
This forms a hierarchical structure that can be displayed in a tree because a source line is part of a function
which in turn is member of a module. Accordingly the only difference between these functions is, which
branches of the tree are initially open.
The following table lists the view options.
List
ListModule
Creates a view showing statistics data for modules, with the option to open the
tree 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
ListLine
The options Delete and Set allow to manually modify the contents of the ISTAT data base:
Delete
Delete the coverage information for an address or address range from the
ISTAT data base, therefore essentially marking the area as not executed.
Set
NOTE:
See also
RTS
RTS.state
30
RTS
RTS.List
Format:
RTS.List <option>
<option>:
formats
options
DEFault
ALL
cpu
lines
List
MARK
SPARE
STREAM
DIAG
<range>
<record>
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 only
display data, when the target is stopped and after RTS has processed all pending
data. 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 data
in the RTS file.
The command RTS.List is not designed to work with data that contains errors. For
localizing errors in the trace data stream use Trace.List instead. For details, see
the section Avoiding and Fixing Processing Errors in ARM-ETM RTS
Users Guide (rts_user.pdf).
See also
RTS
RTS.state
1989-2015 Lauterbach GmbH
31
RTS
RTS.ListNesting
Format:
RTS.ListNesting <option>
<option>:
formats
options
DEFault
ALL
cpu
lines
List
MARK
SPARE
STREAM
DIAG
<range>
<record>
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 <trace>.ListNesting for more details and a description of the options.
CAVEAT:
This feature is not yet supported with the PTM trace protocol.
See also
RTS
RTS.state
32
RTS
RTS.LOAD
Format:
<file name>
name of the file to mount as trace source and to set as default name
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 from
the file.
Using a file for supplying trace data is possible because conceptually all trace commands work on socalled trace sources i.e. on entities providing trace data. Examples for trace sources are a POWERTRACE
device 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) and
then 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 the
RTS file (see RTS.FileMode for details). However note, that only the final result is shown e.g. the code
coverage at the end of program execution.
The options like RTS.FunctionMode, RTS.TImeMode, ... are taken from the RTS file and cannot be set
manually. Also the radio button for RTS.ON is disabled while in load mode in order to prevent accidentally
overwriting 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 Users Guide (rts_user.pdf)
NOTE:
For using RTS.LOAD it is necessary to load the programs symbols (e.g. via
Data.LOAD.ELF ... /NoCODE).
See also
RTS
RTS.state
33
RTS
RTS.NestingMode
Format:
TREE
See also
RTS
RTS.state
34
RTS
RTS.OFF
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 deletes
the 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.
See also
RTS
RTS.state
RTS.ON
Format:
RTS.ON
Enables real-time profiling and prepares the debugger for processing trace data. The command RTS.ON
should be invoked before starting the target so the debugger can synchronize to the beginning of the trace
data stream.
If the option RTS.FileMode is enable, the command creates the RTS file. The name of the RTS file is set
using 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 theARM-ETM RTS Users Guide
(rts_user.pdf).
See also
RTS
RTS.state
35
RTS
RTS.PROfile
Format:
<event
option>:
MIPS
READS
WRITES
TaskSwitches
Displays a window charting the occurrence of events on the vertical axis versus the elapsed time on the
horizontal 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 are
assigned colors according to their position in the command line:
READS
WRITES
TaskSwitches
<time>
Use the <time> parameter to define the update interval (e.g. 0.5s for two updates
per second).
See also
RTS
RTS.state
36
RTS
RTS.RESet
Format:
RTS.RESet
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
Format:
RTS
RTS.state
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 following
we only describe the fields of the box utilization. For a description of the other elements please refer to
the 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. When
the 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)
37
RTS
The field errors displays type of the latest error in plain text and the total accumulated number of
errors 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 debuggers VM.
out of memory
stack overflow, stack underflow : when tracking the programs calling hierarchy (using
RTS.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 be
there. Applicable only for the ETMV3 protocol.
flow error : the trace data does not match the executed program. This can be caused by
physical transmission errors of the trace data (bad signal quality on the trace port) or because
some executed code is missing in the debuggers VM. Even a single missing or incorrect opcode
can cause this problem.
vtrace error :
fatal error :
See also
RTS
RTS.FileLimit
RTS.List
RTS.OFF
RTS.STATistic
RTS.TImeMode
RTS.COVerage
RTS.FileMode
RTS.ListNesting
RTS.ON
RTS.StopOnError
RTS.ERROR()
RTS.FILE
RTS.Init
RTS.LOAD
RTS.PROfile
RTS.StopOnFifofull
RTS.RECORDS()
RTS.FileCompression
RTS.ISTATistic
RTS.NestingMode
RTS.RESet
RTS.TASKMode
38
RTS
RTS.STATistic
Format:
RTS.STATistic <option>
<option>:
sYmbol
Address
Line
GROUP
AddressGROUP
Var
DatasYmbol
Func
TREE
ChildTREE
ParentTREE
LINKage
TASK
TASKKernel
TASKState
See also
RTS
RTS.state
39
RTS
RTS.StopOnError
Format:
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.
NOTE:
See also
RTS
RTS.state
RTS.StopOnFifofull
Format:
The option StopOnFifoFull controls the behavior of RTS in case of overflows of the targets FIFOs.
NOTE:
See also
RTS
RTS.state
40
RTS
RTS.TASKMode
Format:
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 the
analysis from the RTOS awareness. Tasks that are created later are not
included in the analysis.
The feature is under development.
DYNAMIC
In the modes STATIC and DYNAMIC, the task switch information in the trace data stream is used to
attribute executed opcodes to the correct task.
See also
RTS
RTS.state
41
RTS
RTS.TImeMode
Format:
Defines the type of real-time (wall-clock time) information that is gathered and analyzed:
OFF
no real-time information is generated. Use this for plain code coverage and
trace functions.
Sampling
CycleAccurate
Uses the cycle-accurate mode of the chip (e.g. ETMV3 cycle accurate
mode). 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 the
targets CPU clock using the command <trace>.CLOCK.
CAVEAT:
See also
RTS
RTS.state
42
RTS
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 the
target 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 emulatorbased).
See also
RunTime.Init
RunTime.state
RunTime.LASTRUN()
RunTime.refA
RunTime.ACCURACY()
RunTime.REFA()
RunTime.refB
RunTime.ACTUAL()
RunTime.REFB()
RunTime.RESet
RunTime.LAST()
Or by the function
RunTime.ACCURACY()
43
RunTime
There is a number of different CPU and debugger features related to measuring runtime. The following table
gives an overview. For details, see further down.
Feature
RunTime counter
is started...
Runtime counter is
stopped...
Accuracy
CPU running
signal
High
NEXUS Debug
Status Message
High
CPU stopped
signal
RunTime counter
start is imprecise
Polling the PC
RunTime counter
start and stop are
imprecise
44
RunTime
45
RunTime
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 the
value.
RunTime.REFB() returns the reference value B. There is a homonymous command to set the
value.
RunTime.LASTRUN() returns the length of the last execution period (e.g. of a single step or the
time between a Go and a Break). The value is calculated by:
&difftime=CONV.TIMEUSTOINT(RUNTIME.ACTUAL()-RUNTIME.LAST())
RunTime.Init
Format:
Clear timers
RunTime.Init
See also
RunTime
RunTime.state
46
RunTime
RunTime.refA
Format:
Set reference
RunTime.refA
Sets the reference value A to the current runtime. Typically the feature is used to record the moment of an
important event like entering an interrupt handler etc.
The value can also be set by double-clicking the appropriate field in the RunTime.state window.
See also
RunTime
RunTime.state
RunTime.refB
Format:
Set reference
RunTime.refB
See also
RunTime
RunTime.state
RunTime.RESet
Format:
RunTime.RESet
See also
RunTime
RunTime.state
47
RunTime
RunTime.state
Format:
Display results
RunTime.state
RunTime.view (deprecated)
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 value
denoted by the row header. As the first lines 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 both
values.
Reference values can be set to the current runtime (actual) by double-clicking the appropriate element.
See also
RunTime
RunTime.RESet
RunTime.LASTRUN()
RunTime.Init
RunTime.ACCURACY()
RunTime.REFA()
RunTime.refA
RunTime.ACTUAL()
RunTime.REFB()
RunTime.refB
RunTime.LAST()
48
RunTime