The following operations are supported by each EBC
unit:
- Hardware Breakpoints: The EBC unit generates a
breakpoint tag when the specified instruction address is accessed on the program
address bus. When the instruction reaches the DECODE-2 (D2) stage of the
pipeline, the CPU is halted.
- Watch Points: A watch point detects a read or
write to specified locations in data memory, and halts the CPU. Unlike hardware
breakpoints, watch points do not have precise timing for halting the CPU—this is
entirely dependent on the current state of the CPU pipeline. The CPU halts at
the next interruptible boundary.
- Program Trace: Program traces are very similar to
hardware breakpoints. The difference here is that instead of halting the CPU, a
program trace generates a real-time interrupt (RTOSINT) when the instruction
reaches the D2 stage of the pipeline. If the instruction is discarded in the
fetch buffer due to discontinuity, no RTOSINT is generated.
- Data Trace: A data trace is similar to a watch
point, except that a data trace generates a real-time interrupt (RTOSINT)
instead of halting the CPU on an access to the specified data memory.
Note that hardware breakpoints only halt the CPU
if a debugger is connected.