Main Capabilities of the EOnCE Module
SC140 DSP Core Reference Manual
4-11
4.3.7.1.4 Real-Time Data Transfer
The EOnCE controller enables the core software to transmit data from the core to the host as well as to
receive data sent from the host to the core. This is done by means of a simple receive or transmit
mechanism while the core is running.
For transmitting data to the host, the core writes to the transmit register ETRSMT by means of a move
instruction using the memory-mapped address of the ETRSMT register. The TRSMT status bit in the ESR
is asserted by the EOnCE (see
Section 4.5.2, “EOnCE Status Register (ESR),”
for more details). The host
can poll the TRSMT status bit to see when the data in the ETRSMT register is available. Or alternatively,
the host can program the EE4 signal to reflect this status bit externally for interrupt-like transfers, and then
read the ETRSMT through TDO using the mechanism described in
Section 4.5.1, “EOnCE Command
Register (ECR).”
The TRSMT bit is cleared by the EOnCE automatically after the ETRSMT register is
read by the host. A debug exception can be generated to notify the core that the register can be written
again.
The ERCV register can be used for receiving data from the host. The host writes to the ERCV register
through the TDI input signal. The EOnCE automatically sets the status bit RCV in the ESR. For more
information, see
Section 4.5.2, “EOnCE Status Register (ESR).”
This bit can be polled by the core to see
when the data is ready in the ERCV register, or the application can configure EOnCE to generate a debug
exception when the data is ready in the ERCV register. See
Section 4.5.4, “EOnCE Receive Register
(ERCV),”
for more information. The RCV bit is automatically cleared by the EOnCE after the ERCV
register is read by the core.
4.3.7.1.5 Executing an Instruction while in Debug Mode
When the core is in debug mode, the host connected to the JTAG port can execute a subset of the SC140
instruction set in the core. This is done by eliminating the fetch and dispatch stages from the pipeline, and
performing only decoding and execution of the instruction directly by an AGU execution unit. The host
system writes an instruction to be executed into the core command register (CORE_CMD) together with
the GO command. For more information, see
Section 4.5.1, “EOnCE Command Register (ECR).”
The subset of the instructions that can be executed includes:
All move instructions with all possible addressing modes
All types of jump and branch instructions with all possible addressing modes (with the exception of
delayed jumps and branches)
AGU arithmetic instructions
Changes in the state of the core resulting from executing instructions using EOnCE in debug mode are the
same as when executing the same instructions using core software.
4.3.7.2 Event Counter
The 64-bit event counter is used to count one of the following possible events:
Core clock
Instruction execution
Event detection by an event detection channel
Tracing into the trace buffer
Execution of the DEBUGEV instruction