nrf5340

[167] USBD: SPU FLASHACCERR is generated after re-enabling USBD

This anomaly applies to Revision 1, build codes CLAA-D00, QKAA-D00.

Domains

Application

Symptoms

SPU flash access error EVENTS_FLASHACCERROR is generated after USBD EasyDMA transfer is started.

Conditions

The anomaly occurs after the following sequence:
  • Write to flash region 0 is prevented by SPU configuration.
  • USBD is enabled.
  • The sum of all bytes transferred using USBD EasyDMA is odd.
  • USBD is disabled.
  • USBD is re-enabled.
  • USBD EasyDMA transfer is started.

Consequences

The FLASHACCERR event is generated from SPU.

Workaround

If the sum of all bytes transferred using USBD EasyDMA is odd, perform the following steps before disabling USBD:
  1. Configure dummy 1-byte transfer on EP IN0.
  2. Start TASKS_STARTEPIN[0].
  3. Wait for EVENTS_ENDEPIN[0].
The workaround is included in nRF Connect SDK version 2.5.0.