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

Softdevice Present, but only for DFU, not used in Application

I'm trying to take a project we had working with only an application, no softdevice or bootloader, and add a bootloader and softdevice, with the application still not requiring the softdevice. Basically, I'm adding the bootloader and softdevice solely for the purpose of being able to do OTA updates.

The bootloader and softdevice work together, however, the softdevice doesn't seem to work with the application. I had to modify the application linker to accommodate the softdevice and bootloader. When debugging with only the softdevice and the application loaded on, the application works until a HW timer is started. The system crashes shortly after that with the following:

0x0
<signal handler called>() at 0xfffffff1
0x100
<signal handler called>() at 0xfffffff9

Originally we thought that it had something to do with the need to compile with SOFTDEVICE_PRESENT in the CFLAGS and ASMFLAGS, which required some header swaps from the "no_sd" ones. However, the device behaves the same and I get the same failed signal handler calls. It would seem I'm missing something, but haven't found it yet. Any thoughts? Is the approach to have a softdevice present only to be used by the bootloader, but never used by the application acceptable? I never call anything from the softdevice in the application so I figured it would be ok, but something is obviously missing or configured wrong.

Parents Reply Children
No Data
Related