DMA interrupt not triggering on S32K324

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DMA interrupt not triggering on S32K324

308 Views
ilx123
Contributor II

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:

ilx123_3-1755611677414.png

ilx123_4-1755611706420.pngilx123_5-1755611720999.png

 

Rm dmamux:

ilx123_1-1755610961232.png

IntCtrl:

ilx123_2-1755610983202.png

And in the code:

extern void IcuChannel_3_DmaTransferCompletionNotif(void)
{
    Emios_Icu_Ip_TimestampDmaProcessing(1u, 1u);
}

 

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.

 

0 Kudos
Reply
2 Replies

240 Views
VaneB
NXP TechSupport
NXP TechSupport

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

0 Kudos
Reply

13 Views
ilx123
Contributor II

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. 

0 Kudos
Reply