FlexTimer_ic Error Handling

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

FlexTimer_ic Error Handling

1,319 次查看
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 ?

标记 (3)
0 回复数