English
Language : 

MC9S12P128 Datasheet, PDF (141/564 Pages) Freescale Semiconductor, Inc – S12 Microcontrollers
Background Debug Module (S12SBDMV1)
Table 5-5. Firmware Commands
Command(1)
Opcode
(hex)
Data
Description
READ_NEXT(2)
62 16-bit data out Increment X index register by 2 (X = X + 2), then read word X points to.
READ_PC
63 16-bit data out Read program counter.
READ_D
64 16-bit data out Read D accumulator.
READ_X
65 16-bit data out Read X index register.
READ_Y
66 16-bit data out Read Y index register.
READ_SP
67 16-bit data out Read stack pointer.
WRITE_NEXT
42 16-bit data in Increment X index register by 2 (X = X + 2), then write word to location
pointed to by X.
WRITE_PC
43 16-bit data in Write program counter.
WRITE_D
44 16-bit data in Write D accumulator.
WRITE_X
45 16-bit data in Write X index register.
WRITE_Y
46 16-bit data in Write Y index register.
WRITE_SP
47 16-bit data in Write stack pointer.
GO
GO_UNTIL(3)
08
none
Go to user program. If enabled, ACK will occur when leaving active
background mode.
0C
none
Go to user program. If enabled, ACK will occur upon returning to active
background mode.
TRACE1
10
none
Execute one user instruction then return to active BDM. If enabled,
ACK will occur upon returning to active background mode.
TAGGO -> GO
18
none
(Previous enable tagging and go to user program.)
This command will be deprecated and should not be used anymore.
Opcode will be executed as a GO command.
1. If enabled, ACK will occur when data is ready for transmission for all BDM READ commands and will occur after the write is
complete for all BDM WRITE commands.
2. When the firmware command READ_NEXT or WRITE_NEXT is used to access the BDM address space the BDM resources
are accessed rather than user code. Writing BDM firmware is not possible.
3. System stop disables the ACK function and ignored commands will not have an ACK-pulse (e.g., CPU in stop or wait mode).
The GO_UNTIL command will not get an Acknowledge if CPU executes the wait or stop instruction before the “UNTIL”
condition (BDM active again) is reached (see Section 5.4.7, “Serial Interface Hardware Handshake Protocol” last Note).
5.4.5 BDM Command Structure
Hardware and firmware BDM commands start with an 8-bit opcode followed by a 16-bit address and/or a
16-bit data word depending on the command. All the read commands return 16 bits of data despite the byte
or word implication in the command name.
8-bit reads return 16-bits of data, of which, only one byte will contain valid
data. If reading an even address, the valid data will appear in the MSB. If
reading an odd address, the valid data will appear in the LSB.
16-bit misaligned reads and writes are generally not allowed. If attempted
by BDM hardware command, the BDM will ignore the least significant bit
of the address and will assume an even address from the remaining bits.
S12P-Family Reference Manual, Rev. 1.12
Freescale Semiconductor
141