The following operations are supported by each EBC
unit:
- Hardware Breakpoints: The EBC unit generates a
break point 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 an interrupt when the instruction reaches the D2 stage
of the pipeline. If the instruction is discarded in the fetch buffer due to
discontinuity, no interrupt is generated.
- Data Trace: A data trace is similar to a watch
point, except that a data trace generates an interrupt 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. If EBC or SEC is owned by application, no breakpoint or
watch point can cause a halt on the CPU, even if EBC_CNTL.HALT is programmed to
'1'.