Currently, the s23k146 chip is used, and the compilers are S32 Design Studio for ARM Version 2018.R1 and S32SDK_S32K1xx_RTM_3.0.0. The hope is that SPI sends multiple packets of data, but only needs to trigger one DMA transfer at the end, and SPI receives all the data, reducing interruptions and CPU resources. Implementation of a single event trigger DMA read multi - byte SPI data.
I've looked at the corresponding demo, but it doesn't help. The functionality I want to implement now is that SPI sends data every 1.3ms, 20 times; Via TX_DMA; Normally I should receive 20 packets of corresponding data, SPI_RX completion interrupt will trigger 20 times. At present, we do not want to trigger DMA receiving for the first 19 times of data. After the last 20 times of data sending is completed, the 20 times of data will be received once again, reducing the number of interruptions and corresponding CPU consumption. Whether this function can be implemented or provide the following ideas and routines.
There is a non-SDK example that appears to implement similar functionality: Example S32K144 LPIT DMA LPSPI
Unfortunately, no SDK-based samples were found. You may need to read the Integration guideline of EDMA Driver: EDMA_DRV_SetChannelRequestAndTrigger Configures the periodic trigger capability for the triggered DMA channel.