Debug Module
MCF52110 ColdFire® Integrated Microcontroller Reference Manual, Rev. 1
27-42
Freescale Semiconductor
Preliminary
NOTE
Breakpoint registers must be carefully configured in a development system
if the processor is executing. The debug module contains no hardware
interlocks, so TDR should be disabled while breakpoint registers are loaded,
after which TDR can be written to define the exact trigger. This prevents
spurious breakpoint triggers.
Because there are no hardware interlocks in the debug unit, no BDM operations are allowed while the CPU
is writing the debug’s registers (DSCLK must be inactive).
NOTE
The debug module requires the use of the internal bus to perform BDM
commands. For this processor core, if the processor is executing a tight loop
that is contained within a single aligned longword, the processor may never
grant the internal bus to the debug module, for example:
align4
label1:
nop
bra.b label1
or
align4
label2:
bra.w label2
The processor grants the internal bus if these loops are forced across two
longwords.
27.7
Processor Status, Debug Data Definition
This section specifies the ColdFire processor and debug module’s generation of the processor status (PST)
and debug data (DDATA) output on an instruction basis. In general, the PST/DDATA output for an
instruction is defined as follows:
PST = 0x1, {PST = [0x89B], DDATA = operand}
where the {...} definition is optional operand information defined by the setting of the CSR.
The CSR provides capabilities to display operands based on reference type (read, write, or both). A PST
value {0x8, 0x9, or 0xB} identifies the size and presence of valid data to follow on the DDATA output {1,
2, or 4 bytes}. Additionally, for certain change-of-flow branch instructions, CSR[BTB] provides the
capability to display the target instruction address on the DDATA output {2, 3, or 4 bytes} using a PST
value of {0x9, 0xA, or 0xB}.
27.7.1
User Instruction Set
shows the PST/DDATA specification for user-mode instructions. Rn represents any {Dn, An}
register. In this definition, the ‘y’ suffix generally denotes the source, and ‘x’ denotes the destination
operand. For a given instruction, the optional operand data is displayed only for those effective addresses
referencing memory. The ‘DD’ nomenclature refers to the DDATA outputs.