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

Error "Region 'SRAM' overflowed..." while testing the Bluetooth Throughput sample on nRF5340dk

Hi,

I'm trying to implement the Bluetooth Throughput sample to nRF5340dk with nRF Connect SDK 1.4.1.

As mentioned in the README file, I added these three configs to the proj.conf file of the hci_rpmsg project:

CONFIG_BT_CTLR_TX_BUFFER_SIZE=251
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
CONFIG_BT_RX_BUF_LEN=255

Then I get this error when I try building the hci_rpmsg project in SES:

1> Linking ‘zephyr_prebuilt.elf’
1> Memory region         Used Size  Region Size  %age Used
1>            FLASH:      170404 B       256 KB     65.00%
1>             SRAM:       69944 B        64 KB    106.73%
1> c:/users/jasonlei/ncs/v1.4.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: zephyr\zephyr_prebuilt.elf section `noinit' will not fit in region `SRAM'
1> c:/users/jasonlei/ncs/v1.4.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: section .intList VMA [21010000,21010097] overlaps section noinit VMA [2100d580,21011137]
1> c:/users/jasonlei/ncs/v1.4.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: region `SRAM' overflowed by 4408 bytes
1> collect2.exe: error: ld returned 1 exit status
1>         IDT_LIST:         152 B         2 KB      7.42%
Build failed

Is there any idea for solving this?

Parents
  • Hi

    The HEAP_MEM_POOL_SIZE specifies the size of the heap memory pool used when dynamically allocating memory using k_malloc(), so you will have a reduced amount of memory to allocate like this with this reduced size.As of this commit, there is a build-time assert that checks if the heap memory configuration is sufficient, so 4096 should be sufficient seeing as you're able to build the project.

    Best regards,

    Simon

Reply
  • Hi

    The HEAP_MEM_POOL_SIZE specifies the size of the heap memory pool used when dynamically allocating memory using k_malloc(), so you will have a reduced amount of memory to allocate like this with this reduced size.As of this commit, there is a build-time assert that checks if the heap memory configuration is sufficient, so 4096 should be sufficient seeing as you're able to build the project.

    Best regards,

    Simon

Children
No Data
Related