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

Cannot add custom Service to nRF52820 using softdevice s140

Dear All,

I am trying to add a custom service on the ble_template_app that I have managed to run successfully on the nRF52820.

I have successfully created the custom service I need and I have been able to compile and run my code on an nRF52840.

Unfortunately, I have been unable to do the same for the nRF52820. The code will not even compile, geiving me this error:

C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: .rodata is too large to fit in FLASH memory segment
1> C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 4.52c/gcc/arm-none-eabi/bin/ld: error: .data is too large to fit in FLASH memory segment


I am assuming that there is an issue with the FLASH memory size, but I am not sure how to fix it.

In my project I have this line:

linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x40000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x8000;FLASH_START=0x27000;FLASH_SIZE=0x19000;RAM_START=0x20002ae8;RAM_SIZE=0x5518"


I took this line from the example for the UART application that can be found here.

I am also curious to understand how exactly I need to modify the flash and ram size in case I want to add more services, like the

Parents Reply Children
  • Giannis Anastasopoulos said:
    Thank you for the suggestion, as this idea also worked, but then I wanted to enable the buttonless DFu and I realised that there some defines missing for the bootloader.

     I'm not that familiar with DFU, I suggest you open a separate Question for that issue.
     

    Giannis Anastasopoulos said:
    And another question regarding the nrf52820, does it support ADC? Is it possible to measure an analogue voltage with this device?

     It does not have and ADC, but it does have a configurable COMP — Comparator, maybe that covers your use-case.

Related