Introduction
AVR
®
ATICE30 User Guide 1-3
The AVR reset system can reset the emulated device both when the device is running
and stopped. This reset can be activated from several sources:
■ The push-button marked AVR RESET on the back panel of the ICE unit
(only when running)
■ The push-button marked RESET on the pod (only when running)
■ The reset button in AVR Studio. Note that the reset button in AVR Studio will stop the
emulation process if it is running when the button is pushed.
■ A reset button placed in the user application (only when running)
Please note that only a reset from the user application will reset other components in the
application connected to the AVR’s reset pin.
1.5 Trace Buffer The AVR ATmegaICE has a 32K x 96-bit trace buffer that stores information about pro-
gram execution for every clock cycle. When the emulator is stopped, this trace buffer
can be examined to extract information about the history of the emulated program. The
details on which data are stored and how to retrieve them are described in the “AVR
Studio User Guide.” When the trace buffer is full, it will wrap around and start overwriting
the oldest entries.
The trace buffer can be turned on or off at any program line. This makes it possible to
skip tracing delay loops and other subroutines which would otherwise fill the trace mem-
ory with unnecessary data. The trace buffer is inactive by default. To trace an entire
program, a Trace on marker should be placed on the first line of the program in AVR
Studio.
1.6 External Triggers The AVR ATmegaICE has five external trigger inputs and five trigger outputs, all located
on the Aux connector next to the Pod connector.
■ The trigger inputs can act as break signals to the emulator and/or they can be logged
in the trace buffer. Any inputs set up to break the emulator are activated when a rising
edge is detected.
■ The trigger outputs may be set as trigger points on any instruction in the code window
in AVR Studio. If enabled on an instruction, the output(s) will remain high for one AVR
clock cycle when the marked instruction is executed. This can be used to trigger a
logic analyzer or an oscilloscope.
The details on how to enable and set up triggers and mask registers are presented in
AVR Studio Help. There are three global mask registers that are used to control the
behavior of the triggers:
■ The Trigger Output Global Mask Register controls which of the output pins are
allowed to be controlled by the trigger settings in the code. An output pin that is
disabled will remain low even if a trigger point for that particular pin is set in the code.
■ The Trigger Input Global Mask Register controls which of the input pins are allowed to
break the emulator. If more than one line is enabled, the emulator will break on either
one, but will not store any information about which input caused the event. Note that
unconnected inputs are pulled high by internal pull-up resistors. Unused lines must
not be enabled. Otherwise, the emulator may break on the first line.
■ The External Trace Mask Register controls which of the input pins will be stored in the
trace memory. Input pins that are not enabled in this register will be stored as zero in
the trace memory. To be traced, input signals must be valid and stable at the rising
edge of the AVR clock and for 50 ns thereafter. It is also necessary that the trace
buffer is enabled and turned on.