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

all SVCALLs spin after updating to SDK11

when upgrading from SDK8 to SDK11 every SVCALL to the softdevice now just jumps to the application's weak SVC_handler and "B ." spins.

I can make a main.c file with only this in it and it still happens:

int main(void) { nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; SOFTDEVICE_HANDLER_INIT(&clock_lf_cfg, NULL);

for(;;)
{

}

}

I did move the start the nrf51422_xxac application ram at:

MEMORY { FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x40000 RAM (rwx) : ORIGIN = 0x20003000, LENGTH = 0x5000 }

so that the soft device will have enough ram to run. Before doing that all SVCALLs just jumped into the weeds. Shouldn't the svc instruction vector to the privileged interrupt vectors in the softdevice?

I know that the SD is working since I can compile the example code from the stack and run it. My application is compiled through Eclipse environment.

Any clues?

Related