Rating a debug interrupt. as shown in, Table 28-24, When a breakpoint is – Freescale Semiconductor ColdFire MCF52210 User Manual

Page 536

Advertising
background image

Debug Module

MCF52211 ColdFire® Integrated Microcontroller Reference Manual, Rev. 2

28-40

Freescale Semiconductor

The breakpoint status is also posted in the CSR. CSR[BSTAT] is cleared by a CSR read when a level-2
breakpoint is triggered or a level-1 breakpoint is triggered and a level-2 breakpoint is not enabled. Status
is also cleared by writing to TDR to disable trigger options.

BDM instructions use the appropriate registers to load and configure breakpoints. As the system operates,
a breakpoint trigger generates the response defined in TDR.

PC breakpoints are treated in a precise manner—exception recognition and processing are initiated before
the excepting instruction executes. All other breakpoint events are recognized on the processor’s local bus,
but are made pending to the processor and sampled like other interrupt conditions. As a result, these
interrupts are imprecise.

In systems that tolerate the processor being halted, a BDM-entry can be used. With TDR[TRC] equals 01,
a breakpoint trigger causes the core to halt (PST = 0xF).

If the processor core cannot be halted, the debug interrupt can be used. With this configuration,
TDR[TRC] equals 10, breakpoint trigger becomes a debug interrupt to the processor, which is treated
higher than the nonmaskable level-7 interrupt request. As with all interrupts, it is made pending until the
processor reaches a sample point, which occurs once per instruction. Again, the hardware forces the PC
breakpoint to occur before the targeted instruction executes and is precise. This is possible because the PC
breakpoint is enabled when interrupt sampling occurs. For address and data breakpoints, reporting is
considered imprecise, because several instructions may execute after the triggering address or data is
detected.

As soon as the debug interrupt is recognized, the processor aborts execution and initiates exception
processing. This event is signaled externally by the assertion of a unique PST value (PST = 0xD) for
multiple cycles. The core enters emulator mode when exception processing begins. After the standard
8-byte exception stack is created, the processor fetches a unique exception vector, 12, from the vector
table.Refer to the ColdFire Programmer’s Reference Manual. for more information.

Execution continues at the instruction address in the vector corresponding to the debug interrupt. All
interrupts are ignored while the processor is in emulator mode. The debug interrupt handler can use
supervisor instructions to save the necessary context, such as the state of all program-visible registers into
a reserved memory area.

Table 28-24. DDATA[3:0]/CSR[BSTAT] Breakpoint Response

DDATA[3:0]

1

CSR[BSTAT]

1

1

Encodings not shown are reserved for future use.

Breakpoint Status

0000

0000

No breakpoints enabled

0010

0001

Waiting for level-1 breakpoint

0100

0010

Level-1 breakpoint triggered

1010

0101

Waiting for level-2 breakpoint

1100

0110

Level-2 breakpoint triggered

Advertising
This manual is related to the following products: