Andrew Parlane

PE suggested fix/addition. DMA request count overflow detection.

Discussion created by Andrew Parlane on May 1, 2015



I have a PE DMA Channel LDD component setup to require 513 bytes, on UARTx Rx. This worked great, until I enabled minor loop channel linking. Then I started getting an on complete event after receiving only 1 byte.


Turns out this was because when you enable minor loop linking, the BITER and CITER fields in the BITER and CITER registers go from 15 bit to 9 bit. Since I had 513 bits set, this actually got written as 0x01, hence my issue.


It would be nice if PE warned you that the request count field was out of bounds. It doesn't do this in either of the 9 or 15 bit cases ATM.


Unfortunately I wasted around 10 hours on this, and that could have been solved by a quick warning or comment on this field.


I'm sorted now, so no hurry, but thought it might be of interest to others.