132
Development Tools User’s Manual
IXP2400/IXP2800 Network Processors
Developer Workbench
Enabled
When this check box is selected all associated breakpoints are active.
When the box is not checked all breakpoints are disabled.
The mid-most section sets the context breakpoints.
Applies to all contexts in microengine
When this is selected then the breakpoint is associated with all contexts
in the Microengine.
Applies only to microengine contexts checked below
When this is selected then the breakpoint is associated with some
contexts in the Microengine. To assign the contexts click in the check
boxes.
The bottom-most section sets the conditional breakpoints.
Call console function to determine whether to break
When this checkbox is selected it enables conditional breakpoints.
Call existing function named below, defined in script or foreign model
When selected this sets a conditional breakpoint which is defined in the
*.ind file, or is contained in a Foreign mode.
Call new breakpoint specific function defined below
When selected this sets a conditional breakpoint which is entered in the
text box.
2.13.10.2
Setting Breakpoints in Hardware Mode
Restrictions:
You can set breakpoints in Hardware mode with the following restrictions:
•
Each breakpoint you insert causes the Debug library in the Intel XScale
®
core to place a
breakpoint routine in unused Control Store space within the Microengines. Consequently, the
number of breakpoints you can insert will be limited by the size of your microcode image.
•
You may be prevented from setting a breakpoint on certain instructions because processing the
breakpoint will adversely affect the thread’s execution state or register contents.
If this occurs, you see the following message when you attempt to insert the breakpoint:
“Breakpoint can’t be set at line xx because of Microcode sequencing restrictions”.
If breakpoints are set in multiple Microengines, it is possible to hit more than one breakpoint before
all of the Microengines have paused.
As with step processing, if a thread running on a Microengine does not swap out, it will continue to
run. You should check the
Thread Status
window after a breakpoint has been reached to determine
if any threads are still active.
2.13.10.3
About Breakpoint Markers
When a breakpoint is set on a microword address, the Workbench displays a breakpoint marker in
the left-hand margin of the corresponding line in the thread window. The marker’s appearance
depends on the properties of the breakpoint.
The different markers and their meanings are described below: