This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

[179] RTC: COMPARE event is generated twice from a single RTC compare match workaround

Hi, 

[179] RTC: COMPARE event is generated twice from a single RTC compare match

This anomaly applies to IC Rev. Revision 2, build codes CKAA-Dx0, QIAA-Dx0.

It was inherited from the previous IC revision Engineering D.

Symptoms

Tasks connected to RTC COMPARE event through PPI are triggered twice per compare match.

Conditions

RTC registers are being accessed by CPU while RTC is running.

Consequences

Tasks connected to RTC COMPARE event through PPI are triggered more often than expected.

Workaround

Do not access the RTC registers, including the COMPARE event register, from CPU while waiting for the RTC COMPARE event. Note that CPU interrupt from this event can still be enabled.

Question

I am connecting the RTC compare event to a Timer count task and forking a RTC clear task using PPI. The above errata says not to read the RTC registers or else the tasks connected to the RTC compare event will be triggered twice.

In my case, if I try to read RTC->COUNTER, it will trigger the Timer count task/RTC clear task twice on the RTC compare event?

What would be the workaround if I want to read the RTC counter value while I am configured with the above setup (RTC compare event to Timer count task/RTC clear task through PPI). 

Do I stop the RTC before reading the RTC counter value and then start it up again? Please guide.

Thanks.

 

Parents
  • Hi,

    The way I understand this errata. "In my case, if I try to read RTC->COUNTER, it will trigger the Timer count task/RTC clear task twice on the RTC compare event?" Yes, unless you wait for the RTC COMPARE event before reading the RTC->COUNTER.

    ref the workaround: Do not access the RTC registers, including the COMPARE event register, from CPU while waiting for the RTC COMPARE event

Reply
  • Hi,

    The way I understand this errata. "In my case, if I try to read RTC->COUNTER, it will trigger the Timer count task/RTC clear task twice on the RTC compare event?" Yes, unless you wait for the RTC COMPARE event before reading the RTC->COUNTER.

    ref the workaround: Do not access the RTC registers, including the COMPARE event register, from CPU while waiting for the RTC COMPARE event

Children
Related