AnsweredAssumed Answered

FlexTimer_ic Error Handling

Question asked by Omneia Elshaer on Dec 27, 2018

I'm uisng FlexTimer_ic (using FTM2) to capture two signals phase shifted using Ch0 and Ch2
interrupt of Ch0 must be fired when detecting rising of the first signal and interrupt of Ch2 must be fired whend detecting Falling edge of the second signal.

However, sometimes the interrupt of Ch2 is triggired with the interrupt of Ch0 and without having a falling edge on Ch2. To clarify this please check the image below:
The blue line is the input signal to Ch0.
The green line is the input signal to Ch2.

The yellow line is set to 0 when the interrupt of Ch2 is triggerd.

As you can see the interrupt of Ch2 is triggered with the rising edge of Ch0.

After some investigations, I suspect being affected by the "ERRATA_E9005".
ERRATA_E9005: Core: Store immediate overlapping exception return operation might vector to incorrect interrupt.

I'm using GCC v.6.3.1 20170509

Does anyone know a work around or how to fix this issue ?

Outcomes