Application doesn´t run when it is update with a DFU

Hello, 

I am running 1\nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_bootloader\pca10040_s132_ble\ses example of SDK 17.1.0. without changes in the code. The bootloader seems that work without problems, but the application doesn´t run. I think that is a problem with the map of memory, I have the bootloadder:

FLASH_PH_START=0x0

FLASH_PH_SIZE=0x80000

RAM_PH_START=0x20000000

RAM_PH_SIZE=0x10000

FLASH_START=0x69000

FLASH_SIZE=0x5a000

RAM_START=0x20005968

RAM_SIZE=0xa698

And the application:

FLASH_PH_START=0x0

FLASH_PH_SIZE=0x80000

RAM_PH_START=0x20000000

RAM_PH_SIZE=0x10000

FLASH_START=0x6a000

FLASH_SIZE=0x5a000

RAM_START=0x20005968

RAM_SIZE=0xa698

Has anyone an idea, how to solve this problem?

Thank, 

Paula.

  • Hi,

    First of all, I recommend using the debug bootloader (example project with "_debug" in the end of the name). This has RTT logging when you experience problems with DFU. That will let you easily see if the bootloader starts the application or not, and if not, why. Can you try that first, and upload the log here?

    Have you tested your application so that it does runs when you do not use a bootloader? Remember that the application start address must always be immediately after the SoftDevice. So, if you are using S132 7.2.0 the start address must be 0x26000. This is regardless of if using bootloader or not. So your FLASH_START is clearly wrong. Please test your application without bootloader first to fix such issues which are not related to the bootloader.

    After this, hve you remembered to generate and program a bootloader settings page if you flashed the application directly and not via DFU? If not, the bootloader will not know that a valid application is present and will not start it.

Related