
Functional Description and Application Information
S12S Debug (S12SDBGV1) Module
MM912F634
Freescale Semiconductor
236
4.31.4.4.1
Final State
On entering Final State, a trigger may be issued to the trace buffer according to the trace alignment control, as defined by the
the trace buffer is disabled and the transition to Final State can only generate a breakpoint request. In this case, or upon
completion of a tracing session when tracing is enabled, the ARM bit in the DBGC1 register is cleared, returning the module to
the disarmed state0. If tracing is enabled a breakpoint request can occur at the end of the tracing session. If neither tracing nor
breakpoints are enabled then when the final state is reached it returns automatically to state0 and the debug module is disarmed.
4.31.4.5
Trace Buffer Operation
The trace buffer is a 64 lines deep by 20-bits wide RAM array. The DBG module stores trace information in the RAM array in a
circular buffer format. The system accesses the RAM array through a register window (DBGTBH:DBGTBL) using 16-bit wide
word accesses. After each complete 20-bit trace buffer line is read, an internal pointer into the RAM increments so that the next
read will receive fresh information. Data is stored in the format shown in
Table 312. After each store, the counter register
DBGCNT is incremented. Tracing of CPU activity is disabled when the BDM is active. Reading the trace buffer, whilst the DBG
is armed, returns invalid data and the trace buffer pointer is not incremented.
4.31.4.5.1
Trace Trigger Alignment
the end or the beginning of a tracing session.
If End tracing is selected, tracing begins when the ARM bit in DBGC1 is set and State1 is entered; the transition to Final State
signals the end of the tracing session. Tracing with Begin Trigger starts at the opcode of the trigger. Using End Trigger, or when
the tracing is initiated by writing to the TRIG bit whilst configured for Begin-Trigger, tracing starts at the second opcode after
writing to DBGC1
4.31.4.5.1.1
Storing with Begin Trigger
Storing with Begin Trigger, data is not stored in the Trace Buffer until the Final State is entered. Once the trigger condition is met
the DBG module will remain armed until 64 lines are stored in the Trace Buffer. If the trigger is at the address of the change-of-flow
instruction, the change of flow associated with the trigger will be stored in the Trace Buffer. Using Begin Trigger together with
tagging, if the tagged instruction is about to be executed, then the trace is started. Upon completion of the tracing session, the
breakpoint is generated, thus the breakpoint does not occur at the tagged instruction boundary.
4.31.4.5.1.2
Storing with End Trigger
Storing with End Trigger, data is stored in the Trace Buffer until the Final State is entered, at which point the DBG module will
become disarmed and no more data will be stored. If the trigger is at the address of a change of flow instruction the trigger event
will not be stored in the Trace Buffer.
4.31.4.5.2
Trace Modes
Four trace modes are available. The mode is selected using the TRCMOD bits in the DBGTCR register. Tracing is enabled using
the TSOURCE bit in the DBGTCR register. The modes are described in the following subsections. The trace buffer organization