nrf-softdevice
nrf-softdevice copied to clipboard
Documentation
yep, that :point_up_2:
Safety notes:
- The SoftDevice needs exclusive access to some peripherals (RADIO, some TIMERs, SWI/EGUs, ECB, AAR..), you have to make sure not to use them on your own.
Softdevice::enable()takes the PAC register blocks for these so safe code is unable to use them anymore (to be done, #4 ), but this still means you have to make sure to not use unsafe code to somehow still use these peripherals (such as Peripherals::take(), raw pointers, or calling into C code that uses them). - The SoftDevice needs exclusive access to some IRQs and priority levels. You must make sure not to use them. This includes NOT using
cortex-mNVIC functions!! Using these is UNSAFE even if they're marked as safe. There is a proposal to split cortex-m so that the "opinionated concurrency model" functions would be opt-in (rust-embedded/cortex-m#239) - PPI? #14