11-32
ColdFire CF4e Core User’s Manual
For More Information On This Product,
Go to: www.freescale.com
Background Debug Mode (BDM)
11.5.3 BDM Command Set
Table 11-24 summarizes the BDM command set. Subsequent paragraphs contain detailed
descriptions of each command. Issuing a BDM command when the processor is accessing
debug module registers using the WDEBUG instruction causes undefined behavior.
Unassigned command opcodes are reserved by Motorola. All unused command formats
within any revision level perform a
NOP
and return the illegal command response
.
Table 11-24. BDM Command Summary
Command
Mnemonic
Description
CPU
State
1
1
General command effect and/or requirements on CPU operation:
- Halted. The CPU must be halted to perform this command.
- Steal. Command generates bus cycles that can be interleaved with bus accesses.
- Parallel. Command is executed in parallel with CPU activity.
0x4 is a three-bit field.
Section
Command
(Hex)
Read A/D
register
Write A/D
register
Read
memory
location
Write
memory
location
Dump
memory
block
rareg/
rdreg
wareg/
wdreg
read
Read the selected address or data register and
return the results through the serial interface.
Write the data operand to the specified address or
data register.
Read the data at the memory location specified by
the longword address.
Halted
11.5.3.3.1 0x218 {A/D,
Reg[2:0]}
11.5.3.3.2 0x208 {A/D,
Reg[2:0]}
11.5.3.3.3 0x1900—byte
0x1940—word
0x1980—lword
11.5.3.3.4 0x1800—byte
0x1840—word
0x1880—lword
11.5.3.3.5 0x1D00—byte
0x1D40—word
0x1D80—lword
Halted
Steal
write
Write the operand data to the memory location
specified by the longword address.
Steal
dump
Used with
READ
to dump large blocks of memory.
An initial
READ
is executed to set up the starting
address of the block and to retrieve the first result.
A
DUMP
command retrieves subsequent operands.
Used with
WRITE
to fill large blocks of memory. An
initial
WRITE
is executed to set up the starting
address of the block and to supply the first operand.
A
FILL
command writes subsequent operands.
The pipeline is flushed and refilled before resuming
instruction execution at the current PC.
Perform no operation; may be used as a null
command.
Capture the current PC and display it on the
PSTDDATA output pins.
Read the system control register.
Steal
Fill memory
block
fill
Steal
11.5.3.3.6 0x1C00—byte
0x1C40—word
0x1C80—lword
Resume
execution
No operation
go
Halted
11.5.3.3.7 0x0C00
nop
Parallel
11.5.3.3.8 0x0000
Output the
current PC
Read control
register
Write control
register
Read debug
module
register
Write debug
module
register
sync_pc
Parallel
11.5.3.3.9 0x0001
rcreg
Halted
11.5.3.3.1
1
11.5.3.3.1
2
11.5.3.3.1
3
0x2980
wcreg
Write the operand data to the system control
register.
Read the debug module register.
Halted
0x2880
rdmreg
Parallel
0x2D {0x4
2
DRc[4:0]}
2
wdmreg
Write the operand data to the debug module
register.
Parallel
11.5.3.3.1
4
0x2C {0x4
2
DRc[4:0]}
F
Freescale Semiconductor, Inc.
n
.