
GR716-DS-UM, May 2019, Version 1.29
253
www.cobham.com/gaisler
GR716
Descriptor errors are generated when an ERROR response is received while reading or writing back a
descriptor in main memory.
Channel Vector Pointer errors are generated when the core receives an ERROR response when access-
ing the Channel Vector data structure in main memory.
Conditional errors are generated when a conditional polling descriptor encounters a problem during
an AHB polling operation such as an ERROR response.
Conditional type 1 retry error are generated when the retry counter exceed the maximum number of
allowed retries
Conditional type 1 counter error are generated when the conditional counter exceed the maximum
number of allowed retries.
Finally timeout errors are caused by the timeout counter expiring before receiving an interrupt during
triggered conditional descriptor execution. This requires the TE bit field in the control register to be
configured to ‘1’ during execution.
The core will enable the corresponding error type bit in the error register in addition to the error flag
bit (E). The channel number where the error happened can be also read directly from the channel error
field (CHERR) of the error register. Additionally an interrupt will be generated if the Interrupt on
Error Enable bit (IEE) and the global Interrupt Enable (IE) bit in GRDMAC control register are set to
one, and a flag will be raised in the interrupt flag register bit corresponding to the channel where the
error event occurred (IFx).
28.7
Internal Buffer Readout Interface
In case of an error, the execution of the DMA channels will halt and the error will be reported as
described in the previous session. It can happen that data that has been accumulated in the internal
buffer during the M2B chain transactions, is not written out as part of the B2M chain, due to the chan-
nel halting. This internal data can still be read via the APB interface of the GRDMAC core, through
the Internal Buffer Readout Interface memory area. The memory area is located at offset 0x800 of the
GRDMAC core memory address, as seen in Table 294. This area can only be read when the core is in
an idle state and bit flag EN of the Control Register is set to ‘0’. The amount of valid data in the inter-
nal buffer can be inferred by reading the read pointer and write pointers to the buffer from the Internal
Buffer Pointers Register (offset 0x40).
28.8
Registers
The core is programmed through registers mapped into APB address space.