GD32W51x User Manual
335
12.5.3.
Error
FIFO error and transfer access error (including the register access error and bus error) can
be detected during the DMA transmission, and the transmission can be stopped when one of
the errors occurs.
FIFO error
For a good DMA operation, when the multi-data mode is enabled, the right and wrong
configurations of the FIFO counter critical value corresponding with the memory transfer width
and memory burst types are listed in
If a wrong configuration is detected after enable the channel, a FIFO error is generated and
the channel is disabled immediately without starting any transfers.
When the FIFO error is asserted and the enabled bit for the FIFO error and exception interrupt
is set, an interrupt is generated.
Register access error
The register access error is detected only when the switch-buffer is enabled. If the software
attempts to update a memory address register currently accessed by the DMA controller, a
register access error is detected. For example, when the memory 0 buffer is the current
source or destination, a write access on the DMA_CHxM0ADDR register could produce a
register access error. When a register access error occurs, the DMA transmission is stopped
when the current memory and peripheral transfer are completed and the valid FIFO data are
entirely drained into the memory if needed.
When the register access error is asserted and the enabled bit for the transfer access error
and exception interrupt is set, an interrupt is generated.
Bus error
When the address accessed by the DMA controller is beyond the allowed area, a response
error will be received and the channel is disabled immediately. The allowed and forbidden
access region for DMA0 and DMA1 are shown in
Figure 12-8. System connection of DMA0
.When the bus error is asserted and the enabled bit for the transfer access error