Hi @robberpen
1. Setting TRANSFERSIZE to 0:
• Since the flow control is being managed by the peripheral (in this case, ADCHS), the TRANSFERSIZE field is not used to limit the number of transfers (as indicated by the red-highlighted text in your image). Instead, the peripheral controls the number of transfers in each burst, so setting the TRANSFERSIZE to 0 is valid when the peripheral is the flow controller.
2. DMA Burst Request and Transfer Size:
• The DMA burst request signal initiates the transfer. Typically, the burst size for each transfer is set in the burst size configuration of the DMA or ADCHS peripheral. If the burst transfer size exceeds 256 bytes (your allocated buffer size), you will run into issues, which might explain why your DMA is exceeding the 256-byte buffer. You’ll need to review your DMA burst size configuration in the ADCHS peripheral or the DMA settings to match it to your allocated buffer size.
3. DMA and Linked List Item (LLI) Switching:
• In scatter/gather mode, the DMA switches to the next LLI (Linked List Item) once the current transfer completes. If the DMA is not switching to the next LLI, it could indicate that the DMA doesn’t detect that the current buffer is full or the transfer size isn’t being processed correctly.
BR
Hang