Are there any requirements for the initial state of peripherals marked as "blocked" (i.e. exclusive for the SoftDevice) before enabling the softdevice?
I have been reading the Specification (specifically for S130 V2) and have not found any information regarding this. My assumption is that the should not be any requirements, as the SoftDevice should be responsible for setting up things correctly.
However, my team experienced an issue where the SoftDevice either stopped generating events, or only generated error events when interfacing with the flash. This was the sequence:
- Use NRF_TIMER0 to do a few time measurements right as the chip boots
- Dont do any clean up at all of NRF_TIMER0 once done
- Enable the SoftDevice
- Never touch NRF_TIMER0 again (until potential reboot)
After step 3 above we will occasionally do flash writes using the SoftDevice. Sometimes the SoftDevice does not generate any events at all, sometimes on the flash error event.