Hi everyone,
I have configured the eMIOS ICU to use DMA. But for some reason, the DMA completion notification is never entered.
emios icu config:
Rm dmamux:
IntCtrl:
And in the code:
As to my understanding, the following should happen: edge gets detected by the ICU -> triggers DMA transfer -> IcuChannel_3_DmaTransferCompletionNotif() -> Emios_Icu_Ip_TimestampDmaProcessing() gets called -> timestamp measurement notification (SENT_INPUT1_ISR gets called). This is also the desired flow for the application I am creating.
Could it be that I misunderstood something inside the configuration of the drivers? Any help would be appreciated.
Hi @ilx123
I recently posted a simple example code that shows how to configure eMIOS in ICU_MODE_TIMESTAMP using SAIC (Single Action Input Capture) mode with DMA. In this setup, one eMIOS channel captures timestamps from a waveform generated by another channel. After a predefined number of captures, a DMA interrupt is triggered.
Example S32K344 eMIOS Icu with DMA DS3.6 RTD 6.0.0
BR, VaneB
Hi @VaneB , this example works for S32K344, and I can see that interrupts are happening. However, when trying to run this on S32K324 after creating a new project with the same code and configuration, it does not work. Is there anything else I need to enable for S32K324? Does S32K344 being in lockstep mode cause any crucial differences in DMA functionality or limit posibilites? I am using RTD4.0.0.