
Meta Debugger | 13
©1989-2022 Lauterbach
Breakpoints
For general information about setting breakpoints, refer to the Break.Set command.
Software Breakpoints
If a software breakpoint is used, the original code at the breakpoint location is temporarily patched by a
breakpoint code (Meta switch instruction). There is no restriction in the number of software breakpoints.
Software breakpoints are break before make.
On-chip Breakpoints
If on-chip breakpoints are used, the resources to set the breakpoints are provided by the hardware of the
core itself. The Meta supports up to 8 program on-chip breakpoints. The debugger is able to detect the
number of available on-chip breakpoints by analyzing the contents of the Meta core revision register.
If programmed, the breakpoint hardware compares its breakpoint address and the current program counter.
If they are equal, a breakpoint exception is raised which in general will set the Meta core into debug mode.
On-chip breakpoints are break before make.
Examples:
On-chip Watchpoints
If on-chip watchpoints are used, the resources to set the watchpoints are provided by the hardware of the
core itself. The Meta supports up to 8 data on-chip watchpoints. The debugger is able to detect the number
of available on-chip watchpoints by analyzing the contents of the Meta core revision register.
On-chip watchpoints compare their programmed address and their read, write or read-write access
condition with addresses of load and store instructions. If addresses and conditions match, a watchpoint
exception is raised which in general will set the M core into debug mode. On-chip watchpoints are break
before make.
In TRACE32, the on-chip watchpoint functionality is mapped to data address breakpoints. That means to set
a watchpoint, the Break.Set command is used in conjunction with the Read, Write or ReadWrite options.
Break.Set 0x80000024 /Program
/Onchip
; Configures an on-chip breakpoint
; which activates when the program
; counter matches 0x80000024
Break.Set 0x80000024 /Onchip ; Same as above, since the default
; for breakpoints is /Program