EOnCE Register Addressing
SC140 DSP Core Reference Manual
4-19
When the TBFDM bit in the EMCR is set, the trace buffer stops operating. When the TBFDM bit and
IME bit are set, and the interrupt service routine disables the trace buffer, stopping it at the last sixteen
entries, the host does not know whether:
The trace buffer stopped before wrapping around, making the entries from this point to the end of
the trace buffer not valid.
OR
The trace buffer wrapped around before stopping, making the entries from this point to the end of
the trace buffer the oldest words in the buffer.
If TBFDM and IME bits are set, the last sixteen stages of the trace buffer should not be used. See
Section 4.5.3, “EOnCE Monitor and Control Register (EMCR),”
for further details.
Also, see
Section 4.3.7.1.1, “Reading or Writing EOnCE Registers Using JTAG,”
for further details.
4.3.7.5.3 Trace Unit Programming Model
The trace unit contains the following registers, as shown in Table 4-5.
Table 4-5. Trace Buffer Register Set
4.4 EOnCE Register Addressing
The various units described above use a large number of registers. The EOnCE registers can be read or
written when the core is running, or when the core is in debug mode.
All the EOnCE registers are accessible from the core (either for read or write operations) are memory
mapped. This means that each register has its own address in the memory space. The memory address of an
EOnCE register is defined by adding four times the register address offset from Table 4-6 on page 4-20 to
the EOnCE register base address defined for each SOC derivative. For example, the memory address for
the LSB part of register ERCV is $8 + rba_via, where rba_via is the derivative dependent register base
address.
Most EOnCE memory-mapped registers allow only 32-bit accesses except the status, monitor, and control
registers (ESR, EMCR, EE_CTRL, EDCA[0-5]_CTRL, EDCD_CTRL, ECNT_CTRL, ESEL_CTRL, and
TB_CTRL). The latter have 16-bit accesses, which enable the use of bit-mask operations. There is only
one access per execution set for all EOnCE registers. When a 16-bit access is used on the 32-bit long ESR
and EMCR registers, the software address offset to the MSB part of the registers is equal to the software
address offset of the LSB part + 2.
Registers longer than 32 bits are accessed as two registers.
Register Name
Description
TB_CTRL
Trace buffer control register
TB_RD
Trace buffer read pointer register
TB_WR
Trace buffer write pointer register
TB_BUFF
Trace buffer virtual register