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

OTA update causes overwrite of portion of application

Hi,

      we are using a custom nRF52840 board with SDK 15.0 and softdevice S140 6.0.0. Flashing the application including DFU and softdevice using SES produces the following memory map (from nrfConnect desktop programmer module):

0 - A18 MBR

1000 - 253c8 Softdevice

2600 - 52864 Application

The application has a size of 182372 bytes. After the application there are some un-identified black sections.

When we do over the air updates to the Device we get a memory map of showing the application being much smaller. The bootloader then jumps to the wrong location in the application.

I would guess that I am not setting the the locations correctly. In SES I am using the following macros:

FLASH_PH_START=0x0

FLASH_PH_SIZE=0x100000

RAM_PH_START=0x20000000

RAM_PH_SIZE=0x40000

FLASH_START=0x26000

FLASH_SIZE=0xda000

RAM_START=0x20002c20

RAM_SIZE=0x3d3e0

To create my package for OTA  I use:

nrfutil pkg generate --hw-version 52 --application-version 1 --application  payload.hex --sd-req 0xA9 --key-file private.key package.zip

If I flash the device using the nrfToolbox on Android it works and boots into the application. 

On the client application we are using IOS DFU pod library latest version. (https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library).

many thanks for your help

Paul

Parents Reply Children
No Data
Related