Hi NXP Community,
I’m working with the S32K344 MCU and need to implement block-based data transfers via DMA from peripherals like ADC, UART, or SPI. My goal is to queue multiple blocks of data for continuous streaming without loss, starting from the very first block.
Requirements:
(Wait until 20 Data are collected)--->Transfer to DMA (Tx watermark condition)
Peripheral sends continuous data (e.g.,LPUART , LPSPI).
DMA should queue and transfer blocks of fixed size (e.g., N bytes).
Support for multi-buffering or buffer rotation so that new data is not lost while the current buffer is being processed.
Questions:
In my application, I want to wait until 20 data samples are collected, and then trigger a DMA transfer under a Tx watermark condition. What’s the recommended approach using eDMA and RTD drivers on the S32K344 to achieve this kind of block-based triggering?
Can I use linked TCDs or scatter-gather with eDMA on S32K3XX for this purpose?
Any SDK-supported method to pre-load buffer queue and enable DMA without missing the first data?
Any tips, examples, or guidance on DMA queuing and buffer management using RTD would be greatly appreciated!
Thanks!