Version 1 ColdFire Debug (CF1_DEBUG)
MCF51CN128 Reference Manual
,
Rev. 6
20-36
Freescale Semiconductor
20.4.1.5
BDM Command Set Summary
summarizes the BDM command set. Subsequent paragraphs contain detailed descriptions of
each command. The nomenclature below is used in
to describe the structure of the BDM
commands.
Commands begin with an 8-bit hexadecimal command code in the host-to-target direction (most
significant bit first)
/
=
separates parts of the command
d
=
delay 32 target BDC clock cycles
ad24
=
24-bit memory address in the host-to-target direction
rd8
=
8 bits of read data in the target-to-host direction
rd16
=
16 bits of read data in the target-to-host direction
rd32
=
32 bits of read data in the target-to-host direction
rd.sz
=
read data, size defined by sz, in the target-to-host direction
wd8
=
8 bits of write data in the host-to-target direction
wd16
=
16 bits of write data in the host-to-target direction
wd32
=
32 bits of write data in the host-to-target direction
wd.sz
=
write data, size defined by sz, in the host-to-target direction
ss
=
the contents of XCSR[31:24] in the target-to-host direction (STATUS)
sz
=
memory operand size (0b00 = byte, 0b01 = word, 0b10 = long)
crn
=
core register number
WS
=
command suffix signaling the operation is with status
Table 20-25. BDM Command Summary
Command
Mnemonic
Command
Classification
ACK
if Enb?
1
Command
Structure
Description
SYNC
Always
Available
N/A
N/A
2
Request a timed reference pulse to
determine the target BDC communication
speed
ACK_DISABLE
Always
Available
No
0x03/d
Disable the communication handshake.
This command does not issue an ACK
pulse.
ACK_ENABLE
Always
Available
Yes
0x02/d
Enable the communication handshake.
Issues an ACK pulse after the command is
executed.
BACKGROUND
Non-Intrusive
Yes
0x04/d
Halt the CPU if ENBDM is set. Otherwise,
ignore as illegal command.
DUMP_MEM.sz
Non-Intrusive
Yes
(0x32+4 x sz)/d/rd.sz
Dump (read) memory based on operand
size (sz). Used with READ_MEM to dump
large blocks of memory. An initial
READ_MEM is executed to set up the
starting address of the block and to retrieve
the first result. Subsequent DUMP_MEM
commands retrieve sequential operands.