12.3.1. Configuring the Tracer

The Tracer has its own section in the ARMulator configuration file (armul.cnf). Find the EarlyModels section in the configuration file, and the Tracer section below it:

{ Tracer
;; Output options - can be plaintext to file, binary to file or 
:: to RDI log window.(Checked in the order RDILog, File, BinFile.)
RDILog=False
File=armul.trc
BinFile=armul.trc
;; Tracer options - what to trace
TraceInstructions=True
TraceMemory=False
TraceIdle=False
TraceNonAccounted=False
TraceEvents=False
;; Where to trace memory - if not set, it will trace at the core.
TraceBus=True
;; Flags - disassemble instructions; start with tracing enabled;
Disassemble=True
StartOn=False
}

where:

RDILog

instructs the Tracer to output to the RDI Log window (the console under armsd).

File

defines the file where the trace information is written, using the default Tracer_Open functions. Alternatively, you can use BinFile to store data in a binary format.

The other options control what is being traced:

TraceMemory

traces real memory accesses.

TraceIdle

traces idle cycles.

TraceNonAccounted

traces unaccounted RDI accesses to memory.

TraceEvents

traces events. For more information, refer to Events of the ARM Software Development Toolkit Reference Guide.

TraceBus

controls the trace data source. This is one of:

TRUE

Bus (between processor and memory)

FALSE

Core (between core and cache, if present).

Disassemble

disassembles instructions. Enabling disassembly will greatly affect emulation speed.

Other tracing controls

You can also control tracing using:

Range=low address,high address

Tracing is carried out only within the specified address range.

Sample=n

Only every nth trace entry is sent to the trace file.

Tracing events

When tracing events, you can select the events to be traced using:

EventMask=mask,value

Only those events whose number when masked (bitwise-AND) with mask equals value are traced.

Event=number

Only number is traced. (This is equivalent to EventMask=0xffffffff,number.)

For example, the following traces only MMU/cache events:


EventMask = 0xffff0000,0x00010000

See Events of the ARM Software Development Toolkit Reference Guide for more information on events.

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0040D
Non-Confidential