现象:

是在NRF52832平台上,Flash中只存在SoftDevice和BootLoader,当我用IAR调试BootLoader的时候,在运行到sd_softdevice_enable的时候会返回0x08,对应的解释是NRF_ERROR_INVALID_STATE:SoftDevice 已启用,无法更新时钟源和故障处理程序,但是我之前并没有重复调用sd_softdevice_enable,而且如果不使用IAR的调试,而使用J-Flash中的Start Application功能是可以正常运行的.

解决方法:

在IAR的工程设置里的Debugger设置项的Download里,勾选上Use flash loader就可以了.