Architecture
614
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Enhanced Direct Memory Access (EDMA3) Controller
17.2.10.2 Queue RAM Debug Visibility
Each event queue has 16 entries. These 16 entries are managed in a circular FIFO manner. All event
queue entries for all event queues are software readable by the event queue entry register (Q
x
E
x
).
Additionally, for each queue there is a queue status register (QSTAT
n
).
These registers provide user visibility and may be helpful while debugging real-time issues (typically post-
mortem), involving multiple events and event sources. The event queue entry register (Q
x
E
x
) uniquely
identifies the specific event type (event-triggered, manually-triggered, chain-triggered, and QDMA events)
along with the event number (for DMA/QDMA channels) that are in the queue or have been de-queued
(passed through the queue). QSTAT
n
includes fields for the start pointer (STRTPTR) that provides the
offset to the head entry of an event. It also includes a NUMVAL field that provides the total number of
valid entries residing in the event queue at a given instance of time. The STRTPTR field may be used to
index appropriately into the 16 event entries. The NUMVAL number of entries starting from STRTPTR are
indicative of events still queued in the respective queue. The remaining entries may be read to determine
which events have already been de-queued and submitted to the associated transfer controller.
17.2.10.3 Queue Resource Tracking
The EDMA3CC event queue includes watermarking/threshold logic that allows you to keep track of
maximum usage of all event queues. This is useful for debugging real-time deadline violations that may
result from head-of-line blocking on a given EDMA3 event queue.
You can program the maximum number of events that can queue up in an event queue by programming
the threshold value (between 0 to 15) in the queue watermark threshold A register (QWMTHRA). The
maximum queue usage is recorded actively in the watermark (WM) field of the queue status register
(QSTAT
n
) that keeps getting updated based on a comparison of number of valid entries, which is also
visible in the NUMVAL bit in QSTAT
n
and the maximum number of entries (WM bit in QSTAT
n
).
If the queue usage is exceeded, this status is visible in the EDMA3CC registers: the QTHRXCD
n
bit in the
channel controller error register (CCERR) and the THRXCD bit in QSTAT
n
, where
n
stands for the event
queue number. Any bits that are set in CCERR also generate an EDMA3CC error interrupt.