Development Capabilities and Interface
MOTOROLA
MPC823 USER’S MANUAL
20-15
DEVELOPMENT
20
CAPABILITIES
&
INTERFACE
When the core is programmed to recognize internal breakpoints, it is possible to debug all
parts of the code. However, if an internal breakpoint is recognized when MSRRI = 0
(registers SRR0 and SRR1 are busy), the machine enters into a nonrestartable state. For
in the masked mode all internal breakpoints detected when MSRRI =0 are lost and detected
watchpoints are not counted by the debug counters. Detected watchpoints are always
reported on the external pins, regardless of the value of the MSRRI bit.
The core defaults to masked mode after reset. It is input in the nonmasked mode by setting
the BRKNOMSK bit in the LCTRL2 register.The BRKNOMSK bit controls all internal
20.3.1.4 IGNORE FIRST MATCH OPTION. To facilitate the debugger utilities of “continue”
and “go from x”, the ignore first match option is supported for the instruction breakpoints.
When an instruction breakpoint is first enabled, the first instruction will not cause an
instruction breakpoint if the IFM bit in the instruction support control (ICTRL) register is set.
This is used for “continue” utilities. When IFM is clear, every matched instruction can cause
an instruction breakpoint. This is used for “go from x”. The IFM bit is set by the software and
cleared by the hardware after the first instruction breakpoint, the match is ignored. Load/
store breakpoints and all counter-generated breakpoints (instruction and load/store) are
unaffected by this mode.
20.3.1.5 GENERATING COMPARE TYPES. Using the four compare types—equal to, not
equal to, greater than, and less than—it is possible to generate two additional compare
types:
Greater than or equal to
Less than or equal to
Generating the greater than or equal to compare type can be accomplished by using the
greater than compare type and programming the comparator to the value in question
minus 1. Likewise, generating the less than or equal to compare type can be accomplished
by using the less than compare type and programming the comparator to the value in
question plus 1. Notice that this method does not work for the following boundary cases:
Less than or equal to the largest unsigned number (1111...1)
Greater than or equal to the smallest unsigned number (0000...0)
Less than or equal to the maximum positive number when in signed mode (0111...1)
Greater than or equal to the maximum negative number when in signed mode (1000...)
These boundary cases do not require special support because they are considered ‘a(chǎn)lways
true’. They can be programmed using the ignore option of the load/store watchpoint
more information.