
Development Capabilities and Interface
20-20
MPC823 USER’S MANUAL
MOTOROLA
DEVELOPMENT
20
CAPABILITIES
&
INTERFACE
20.3.2.4 TRAP ENABLE PROGRAMMING. The trap enable bits can be programmed by
regular software (only if MSRPR = 0) using the mtspr instruction or on-the-fly using the
Enable Mode. The value used by the breakpoint generation logic is the bit-wise OR of the
software trap enable bits written using the mtspr instruction and the development port trap
enable bits that are serially shifted using the development port. The software trap enable bits
and development port trap enable bits can be read from the ICTRL and LCTRL2 registers
20.4 HARDWARE DEVELOPMENT SYSTEM INTERFACE
When debugging an existing system it is sometimes helpful to be able to do so without
making any changes. Although, in some cases it is not helpful and may even make it
impossible to add load to the lines connected to the existing system. The development
system interface of the core supports this configuration.
The development system interface of the core uses the development port, which is a
dedicated serial port that does not need any of the regular system interfaces. System activity
can be controlled from the development port when the core is in debug mode. The
development port is a relatively inexpensive interface that allows the development system
to operate in a lower frequency than the core’s frequency. It is also possible to debug the
core using monitor debugger software. For more information, refer to
In debug mode, the core fetches all instructions from the development port. Data can be
read from or written to the development port. This allows memory and registers to be read
and modified by a development tool (emulator) connected to the development port. For
protection purposes two possible working modes are defined—debug mode enable and
debug mode disable. These working modes are only selected during reset. For details, refer
Note: When programmed to count instruction watchpoints, the last instruction that
decrements the counter to zero is treated like any other instruction breakpoint in
the sense that it is not executed before the machine branches to the breakpoint
exception routine. As a side effect of this behavior, the value of the counter inside
the breakpoint exception routine equals 1 and not zero. When programmed to
count load/store watchpoints, the last instruction that decrements the counter to
zero is treated like any other load/store breakpoint in the sense that it is executed
before the machine branches to the breakpoint exception routine. Therefore, the
value of the counter inside the breakpoint exception routine equals zero.