This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

When calling sd_ble_version_get(&soft_version) I get an

I am attempting to port code from sdk 11 to 15. Some of the code is __older__ and in need of updating. A line which runs during the application init calls the sd_ble_version_get function with a non NULL pointer of the correct type. Immediately the SD throws an error and jumps to the debug error handler.

My search revealed this in the docs

my info in null, so I seem to be suffering an invalid memory access. The passed pointer is in the application memory (as far as I can tell) and should not be protected.

I look forward to feedback.

Parents Reply Children
  • Nordic has installed a memory write protection detector in their device to guard against invalid writes into the softdevice memory region. It is pretty cool. They call it an MWU "Memory Watch Unit". See chapter 45 of the nRF52 product specification. When you get their assert - this happens you write to their memory - you can check the MWU registers and see if indeed a memory write happened that was in their region. Unfortunately, there is no traceback capability back to the offending caller.

Related