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

Can't get first SES project's main() to return from SVC when enabling SoftDevice

My apologies in advance for the novice question; the answer is likely to be simple.

I have done GCC/makefile development before using nRF51/nRF52, and so I thought this task would be trivial.  For a variety of reasons I need to use SES for a new project using the nRF52840 and SoftDevice S140.

I began by writing the simple project and getting it to compile and load (via J-Link) onto the nRF52, stepping into main(); no problem.

Knowing that I needed the SoftDevice, I then figured out that the way to program the SoftDevice by using the Loader / Additional Load File[0] to specify the SoftDevice.  Of course I also set the FLASH_START appropriately to 0x26000 for the S140.

As you will see in the attached, I erased the device and let SES program it, and from everything I can see, the SoftDevice (at 0x1000) and its MBR (at 0) seem to be loaded fine, as is the application.

However, on the very first SVC (SD_SOFTDEVICE_ENABLE) to enable the SoftDevice, it traps to 0x0AA4 and gets stuck in the loop shown between 0x0AA4 and 0x0ACC.  It never returns. 

There must be something I'm failing to load or initialize; can you please take a look at these screen captures and give guidance?

Thank you.

Ray

Related