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

ERR:SOFTDEVICE: INVALID MEMORY ACCESS

SDK:V16.0.0

chip:52832

development kit:window+keil

I trying to combine libuarte and ble_central\ble_app_multilink_central\. My project work well in ble_central. But when i add uarte. there occur err :<error> app: SOFTDEVICE: INVALID MEMORY ACCESS

This is my sdk_config,whether exist wrong config?sdk_config.h

I have no idea to debug it.How could i fix it?Please help,Thanks!

Parents
  • Hi,

    The NRF_FAULT_ID_APP_MEMACC fault ID is triggered if the application has accesses memory that is reserved for the SoftDevice. From API doc:

    Application invalid memory access. The info parameter will contain 0x00000000, in case of SoftDevice RAM access violation. In case of SoftDevice peripheral register violation the info parameter will contain the sub-region number of PREGION[0], on whose address range the disallowed write access caused the memory access fault.

    From the screenshot, we see that info is 0x00000800, so you are using a peripheral that is reserved for the SoftDevice, or can only be accessed via SoftDevice APIs. You should make sure that the application does not use any of the restricted peripheral directly, and completely stay away from those that are blocked (most notably TIMER0 and RTC0, which is often used by examples that do not use the SoftDevice).

Reply
  • Hi,

    The NRF_FAULT_ID_APP_MEMACC fault ID is triggered if the application has accesses memory that is reserved for the SoftDevice. From API doc:

    Application invalid memory access. The info parameter will contain 0x00000000, in case of SoftDevice RAM access violation. In case of SoftDevice peripheral register violation the info parameter will contain the sub-region number of PREGION[0], on whose address range the disallowed write access caused the memory access fault.

    From the screenshot, we see that info is 0x00000800, so you are using a peripheral that is reserved for the SoftDevice, or can only be accessed via SoftDevice APIs. You should make sure that the application does not use any of the restricted peripheral directly, and completely stay away from those that are blocked (most notably TIMER0 and RTC0, which is often used by examples that do not use the SoftDevice).

Children
Related