Hi All,
I’m running a proprietary RF protocol on an nRF52832 and am seeing some corruption of data when it passes through the CCM. The first byte is the only data that is corrupted, and it happens periodically.
The issue disappears when I remove __WFE() from our main loop.
I found this errata (109) and found that the symptoms match what we were experiencing, even though the CCM is not listed as one of the hardware modules affected by the errata.
I applied the clock workaround described in section 3.7 of the document above, and found that it fixed the issue we were seeing.
We didn’t expect the above change to resolve our problem because we thought the 64MHz HFCLK clock (in our case derived from 32MHz HFXO) would be running continuously. We start the clock in our initialization and do not turn it off. Furthermore we derive LFCLK (for app_timer) from HFCLK and have several app_timer’s running in REPEAT mode. Overall we believed HFCLK would always be running but now we are wondering if that is the case.What are the details of 64MHz HFCLK module being gated by app_timer (which uses RTC1) or other modules?
We are under the impression that we are keeping the 64MHz clock on at all times anyway, since we start the clock in our initialization and do not turn it off at any point, and we don’t understand why this errata applies in our situation. Is there some clock gating that happens by default?
Thanks,
Adam