For a Non-RTOS application, take ble_app_blinky for example, the application is coded by us while SD is provided by Nordic.
My understanding is that the SD is running as a thread, just like a infinite loop running background focusing on managing the radio stuff.
The SD thread is started by nrf_sdh_ble_enable(), after this the thread is running infinitely.
It receives instructions from application through SVC, and posts events to application by SWI.
But you know there is no RTOS, and NRF52 chip has only one core, how to make sure the application won't disturb the softdevice?
Like application is playing many hardware interrupts, the interrupts will occupy cpu and break SD thread.
Please correct me if I'm wrong.Thanks.