i'm using the nRF52840 with a custom micro-kernel designed to support user-space applications with multi-tasking. multi-tasking is implemented using separate stack space for each of multiple threads, which means we're manually changing PSP and MSP to isolate and preserve stack contents. from reading the S140_SDS_v2.1 SoftDevice documentation, i encountered the statement
> Do not change the value of MSP dynamically (i.e. never set the MSP register directly)
but there is nothing else in the documentation that explains why not. Does this mean that our micro-kernel cannot be used with the softDevice? it's seems odd that the SD cannot work in multi-threaded / multi-tasked environments, since this is done in the vast majority of embedded OSs. I would appreciate any clarification of this requirement.