DMA BYTES_PER_BURST with varying TD Transfer_Count | Cypress Semiconductor
DMA BYTES_PER_BURST with varying TD Transfer_Count
I've been poking around with DMA and learning quite a bit. In short I have a 32 bit counter with DMA that transfers the values to memory. This is done in two DMA channels because of the 16 bit spoke limitation and works just fine.
Then of course I decided to try adding another TD to the second channel. This one is chained to the end of the first (memory to memory 4 byte transfer) but is only 2 bytes long as I would like to transfer the results of a second counter at the same time.
I am going to assume this is foolish as it works only if it comes after the first TD (4 bytes followed by 2 bytes) but not if it goes first (2 bytes followed by 4 bytes).
Does this mean I should use a separate channel for all DMA transfers that are varied widths?