I have an application that currently does not use the soft device, but I want to use the dfu bootloader. The application runs fine if only the soft device is present, but as soon as I add a dfu bootloader, the app crashes as soon as the RTOS is started, i.e. when interrupts start to run. (ends up in NMI_Handler).
To try to see if it was my application that had problems, I took the examples\peripheral\blinky_freertos and modified the linker configuration so that the blinky app starts at 0x1c000, RAM 0x20002080-0x2000ffff. (On PCA10040)
This works with S132 soft device programmed onto the nRF52, but when the DFU bootloader is in addition added, the application starts but crashes as soon as the RTOS is started (i.e. interrupts are started). Here it crashes with hardfault.
Debugger settings for vector table: --drv_vector_table_base=0x0 (Runs in debugger if this is not set)
DFU bootloader used is the predefined one from examples, dual bank, s132, PCA10040
My question is: does the DFU bootloader forward the interrupt vectors correctly or does the application have to add something related to the soft device, even if it does not use the soft device?
I use the released SDK11.
Toolchain IAR 7.60.1