FlexTimer_ic Error Handling

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

FlexTimer_ic Error Handling

483 Views
omneia_elshaer
Contributor I

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.

scope_10.png

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 ?

Tags (3)
0 Replies