I'm using an nRF52 on PCA10040 board and nRF5_SDK_11.0.0_89a8197. I want to run the peripheral ble_app_template with SEGGER Embedded Studio v2.20. I correctly set the FLASH (0x1c000) and RAM (0x20002080) START address in the linker options. J-Link correctly downloads both SoftDevice and application (checked with nRFgo Studio).
After it reaches ble_stack_init() the program hangs in SVC_Handler.
I tried both s132_nrf52_2.0.0_softdevice.hex and s132_nrf52_2.0.1_softdevice.hex with the same results.
From the startup file ..
* NO_VTOR_CONFIG *
* If defined, the vector table offset register will not be configured. *
and if you look at the important bits of assembler for that, leaving out the ram vectors bit
/* Configure vector table offset register */
ldr r0, =VTOR_REG
ldr r1, =_vectors
str r1, [r0]
it puts the vectors address into the SCB vector offset register which means you're using the vector table in your app and not the softdevice one which means the first SVC call goes to your SVC call handler which doesn't do anything except loop.
Thank you !
Thanks, had been wondering about this too.