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

Launch failure on nRF52 when .text size > 524 KB

Hello -

We are working with a custom board that is similar to the SparkFun Pro nRF52840 Mini. We are using the nRF52840 SDK version 16.0.0 and SoftDevice 6.1.1. Our board uses the Adafruit nRF52 Bootloader. The UF2 file is created/converted by the uf2conv Python utility.

The problem is that when we try to deploy an app that has a `.text` section > 524 KB, the app doesn't seem to launch. Apps with a smaller `.text` section size launch normally and work as expected. Our device has 1 MB Flash and the linker map sections are as follows:

MEMORY
{
  FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0xce000
  RAM (rwx) :  ORIGIN = 0x200057b8, LENGTH = 0x3a384
  NOINIT (rwx) :  ORIGIN = 0x2003fb3c, LENGTH = 0x100
}

I have confirmed that our SoftDevice is installed in ROM at address 0 and the boot loader at 0xF4000. There should be plenty of Flash space available for our application. Here is the linker size output for the flash sizes from one application build trial that fails:

section                   size        addr
.text                   550288      155648
.sdh_soc_observers          24      705936
.sdh_ble_observers          32      705960
.sdh_req_observers           8      705992
.sdh_state_observers        24      706000
.sdh_stack_observers        16      706024
.crypto_data                 8      706040
.nrf_queue                  20      706048
.xx_lib_flash            13988      706072
.ARM.exidx                   8      720060

I am wondering if I am missing something obvious here. I would expect nearly 800 KB available for Flash. Any tips and/or suggestions would be sincerely appreciated.

Regards,

Brian

Parents Reply Children
Related