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

What does it mean when debugger head lands on 0x00000000?

I'm running on a nrf51822 chip, using Keil and a JLink Segger programmer. I'm running on SDK 12.2.0 and I believe I was correct in choosing pca 10028 s130 but I'm not 100% sure. I had to modify the target device when I started with the ble_app_template.

When I am running the debugger, It will go through the power manager loop 1 or 2 times, reset to be beginning, repeat a few times, and then the execution code jumps to 0x00000000 and loops there forever. If I operate outside debugger mode, it just loops 1-6 times and then resets (I know because I am advertising a loop count as part of some ble beacon information).

  • I think part of it might be because the oscillator wasn't correct in the project options, however I tried it on 16MHz and 32MHz and it still doesn't work for this board (which I think is just using the internal oscillator, but I am going to double check). When I changed the oscillator value for the devkit, everything worked fine, but before hand the example projects had the wrong oscillator values and they were not working properly on the nrf51 devkit board (weird considering that the example projects are built for the devkits).

  • Ok, I have been going through some more research on the settings that this chip requires and what the soft device requires. Since it is the s130, I looked at the infocenter pdf for the softdevice specification, made sure that the ram and rom memory locations in the project options matched correctly on the starting locations, then I made sure that the ram didn't exceed what the nrf51822qfaa indicated it had which was 16kB of ram. Since the softdevice was using 5kb of ram, I set the application to use 10 kb of ram so the size is at 0x2800 and then I set the crystal to 16MHz according to the spec sheet from the company in china, and now when I run it, it actually landed on the app_error_handler function with the line number error code and file name information. Yay!

Related