<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/92342/high-ram-consumption-for-a-ble-app</link><description>Hi all! 
 I have created a simple application that only turns on a led and power it off using BLE in NRF52810. The thing is that simple app uses a huge RAM (~85%) and flash. There is a way to reduce the consumption of RAM? I have seen a post were configuring</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 06 Oct 2022 12:19:33 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/92342/high-ram-consumption-for-a-ble-app" /><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/389620?ContentTypeID=1</link><pubDate>Thu, 06 Oct 2022 12:19:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8c695a6f-b741-4d56-80a6-55a0463db643</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Please provide the full build log instead of just snippets of it. It&amp;#39;s much easier to understand what&amp;#39;s going wrong if we get the full log.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The &amp;quot;prj_minimal.conf&amp;quot; is is a child image &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/gs_modifying.html#configuring-build-types"&gt;as explained here&lt;/a&gt;, and so your project will fail to build if you just remove the prj.conf file altogether or replace it with a prj_minimal.conf of your own.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/389367?ContentTypeID=1</link><pubDate>Wed, 05 Oct 2022 10:37:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:93e81a15-b927-40cd-b03a-e9cf7db84312</guid><dc:creator>clake</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;yes, I&amp;#39;m actually using that minimal config for mi prj.conf also adding the PWM and so on, but if the name doesn&amp;#39;t matter, why when I change prj.conf to prj_minimal.conf the build fails?&lt;/p&gt;
&lt;p&gt;using prj.conf I get&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[202/202] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:      117472 B       192 KB     59.75%
            SRAM:       22932 B        24 KB     93.31%
        IDT_LIST:          0 GB         2 KB      0.00%&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;After changing only the name to prj_minimal.conf I get:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[51/163] Linking C static library zephyr/arch/common/libisr_tables.a
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/bin/cmake --build /Documents/master/build&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;With the error of no adding the PWM:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;modules/hal/nordic/nrfx/drivers/include/nrfx_pwm.h:62:35: error: &amp;#39;NRFX_PWM0_INST_IDX&amp;#39; undeclared here (not in a function); did you mean &amp;#39;NRFX_PWM_INSTANCE&amp;#39;?
   62 |     .drv_inst_idx = NRFX_CONCAT_3(NRFX_PWM, id, _INST_IDX), \&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I also attach my prj.config that is the same as the prj_minimal.conf with other settings&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_GPIO=y

# PWM
CONFIG_PWM_NRFX=y
CONFIG_NRFX_PWM0=y

# power off
CONFIG_PM=y
# Required to disable default behavior of deep sleep on timeout
CONFIG_PM_DEVICE=y



# BEGIN Configurations from basic/minimal

CONFIG_NCS_SAMPLES_DEFAULTS=y

CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME=&amp;quot;Nordic_LBS&amp;quot;

# Enable the LBS service
CONFIG_BT_LBS=y
CONFIG_BT_LBS_POLL_BUTTON=y
CONFIG_DK_LIBRARY=y

# Drivers and peripherals
CONFIG_I2C=n
CONFIG_WATCHDOG=n
CONFIG_PINMUX=n
CONFIG_SPI=n
CONFIG_SERIAL=y

# Interrupts
CONFIG_DYNAMIC_INTERRUPTS=n
CONFIG_IRQ_OFFLOAD=n

# Memory protection
CONFIG_THREAD_STACK_INFO=n
CONFIG_THREAD_CUSTOM_DATA=n
CONFIG_FPU=n

# Boot
CONFIG_BOOT_BANNER=n
CONFIG_BOOT_DELAY=0

# Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_STDOUT_CONSOLE=y
CONFIG_PRINTK=y
CONFIG_EARLY_CONSOLE=y

# Build
CONFIG_SIZE_OPTIMIZATIONS=y

# ARM
CONFIG_ARM_MPU=y
# END Configurations from basic/minimal

# In order to correctly tune the stack sizes for the threads the following
# Configurations can enabled to print the current use:
# CONFIG_THREAD_NAME=y
# CONFIG_THREAD_ANALYZER=y
# CONFIG_THREAD_ANALYZER_AUTO=y
# CONFIG_THREAD_ANALYZER_RUN_UNLOCKED=y
# CONFIG_THREAD_ANALYZER_USE_PRINTK=y

# Example output of thread analyzer
# SDC RX              : unused 816 usage 208 / 1024 (20 %)
# BT RX               : unused 1784 usage 416 / 2200 (18 %)
# BT TX               : unused 992 usage 544 / 1536 (35 %)
# thread_analyzer     : unused 136 usage 376 / 512 (73 %)
# sysworkq            : unused 1824 usage 224 / 2048 (10 %)
# MPSL signal         : unused 520 usage 504 / 1024 (49 %)
# idle 00             : unused 192 usage 64 / 256 (25 %)
# main                : unused 136 usage 888 / 1024 (86 %)
# Configurations set based on thread analyzer output.
# CONFIG_BT_CTLR_SDC_RX_STACK_SIZE=324
# CONFIG_BT_RX_STACK_SIZE=1024
# CONFIG_BT_HCI_TX_STACK_SIZE_WITH_PROMPT=y
# CONFIG_BT_HCI_TX_STACK_SIZE=640
# CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=256
# CONFIG_MPSL_WORK_STACK_SIZE=640
# CONFIG_MAIN_STACK_SIZE=1024
# CONFIG_IDLE_STACK_SIZE=128
# CONFIG_ISR_STACK_SIZE=1024

# Disable features not needed
CONFIG_TIMESLICING=n
CONFIG_MINIMAL_LIBC_MALLOC=n
CONFIG_LOG=n
CONFIG_ASSERT=n

# Disable Bluetooth features not needed
CONFIG_BT_DEBUG_NONE=y
CONFIG_BT_ASSERT=n
CONFIG_BT_DATA_LEN_UPDATE=n
CONFIG_BT_PHY_UPDATE=n
CONFIG_BT_GATT_CACHING=n
CONFIG_BT_GATT_SERVICE_CHANGED=n
CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=n
CONFIG_BT_SETTINGS_CCC_LAZY_LOADING=y
CONFIG_BT_HCI_VS_EXT=n

# Disable Bluetooth controller features not needed
CONFIG_BT_CTLR_PRIVACY=n
CONFIG_BT_CTLR_PHY_2M=n

# Reduce Bluetooth buffers
CONFIG_BT_BUF_EVT_DISCARDABLE_COUNT=1
CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=43
CONFIG_BT_BUF_EVT_RX_COUNT=2

CONFIG_BT_CONN_TX_MAX=2
CONFIG_BT_L2CAP_TX_BUF_COUNT=2
CONFIG_BT_CTLR_RX_BUFFERS=1
CONFIG_BT_BUF_ACL_TX_COUNT=3
CONFIG_BT_BUF_ACL_TX_SIZE=27&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;So as far I can see, when I want to build with prj.conf I get 202 setps, with the prj_minimal.conf I get 163 and the file is exactly the same. That is why I asked if only changing the name the NCS does something below to get a minimal config only with the name of the file.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/389348?ContentTypeID=1</link><pubDate>Wed, 05 Oct 2022 08:59:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9055bab1-b509-4f81-9db7-3a742a93e9de</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
[quote user="clake"]If I want that to be minimal, only changing the name is enough[/quote]
&lt;p&gt;Do you mean that you only change the name of prj.conf to&amp;nbsp;&lt;span&gt;prj_minimal.conf without making any changes to the config file at all? If so, that&amp;#39;s not enough. If you look at the prj_minimal.conf (uploaded below) file that is used in the peripheral_lbs sample project, you can see that there are multiple configs set here in order to optimize the project to use as few resources as possible. If you have &amp;quot;more functions&amp;quot; you need to make sure the necessary configs are enabled, but then as many as possible should be disabled as in the minimal config file. The file&amp;#39;s name does note really matter.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;# BEGIN Configurations from basic/minimal

CONFIG_NCS_SAMPLES_DEFAULTS=y

CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME=&amp;quot;Nordic_LBS&amp;quot;

# Enable the LBS service
CONFIG_BT_LBS=y
CONFIG_BT_LBS_POLL_BUTTON=y
CONFIG_DK_LIBRARY=y

# Drivers and peripherals
CONFIG_I2C=n
CONFIG_WATCHDOG=n
CONFIG_GPIO=n
CONFIG_PINMUX=n
CONFIG_SPI=n
CONFIG_SERIAL=n

# Power management
CONFIG_PM=n

# Interrupts
CONFIG_DYNAMIC_INTERRUPTS=n
CONFIG_IRQ_OFFLOAD=n

# Memory protection
CONFIG_THREAD_STACK_INFO=n
CONFIG_THREAD_CUSTOM_DATA=n
CONFIG_FPU=n

# Boot
CONFIG_BOOT_BANNER=n
CONFIG_BOOT_DELAY=0

# Console
CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n
CONFIG_STDOUT_CONSOLE=n
CONFIG_PRINTK=n
CONFIG_EARLY_CONSOLE=n

# Build
CONFIG_SIZE_OPTIMIZATIONS=y

# ARM
CONFIG_ARM_MPU=n
# END Configurations from basic/minimal

# In order to correctly tune the stack sizes for the threads the following
# Configurations can enabled to print the current use:
# CONFIG_THREAD_NAME=y
# CONFIG_THREAD_ANALYZER=y
# CONFIG_THREAD_ANALYZER_AUTO=y
# CONFIG_THREAD_ANALYZER_RUN_UNLOCKED=y
# CONFIG_THREAD_ANALYZER_USE_PRINTK=y
# CONFIG_CONSOLE=y
# CONFIG_UART_CONSOLE=y
# CONFIG_SERIAL=y
# CONFIG_PRINTK=y

# Example output of thread analyzer
# SDC RX              : unused 816 usage 208 / 1024 (20 %)
# BT RX               : unused 1784 usage 416 / 2200 (18 %)
# BT TX               : unused 992 usage 544 / 1536 (35 %)
# thread_analyzer     : unused 136 usage 376 / 512 (73 %)
# sysworkq            : unused 1824 usage 224 / 2048 (10 %)
# MPSL signal         : unused 520 usage 504 / 1024 (49 %)
# idle 00             : unused 192 usage 64 / 256 (25 %)
# main                : unused 136 usage 888 / 1024 (86 %)
# Configurations set based on thread analyzer output.
CONFIG_BT_CTLR_SDC_RX_STACK_SIZE=324
CONFIG_BT_RX_STACK_SIZE=1024
CONFIG_BT_HCI_TX_STACK_SIZE_WITH_PROMPT=y
CONFIG_BT_HCI_TX_STACK_SIZE=640
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=256
CONFIG_MPSL_WORK_STACK_SIZE=640
CONFIG_MAIN_STACK_SIZE=1024
CONFIG_IDLE_STACK_SIZE=128
CONFIG_ISR_STACK_SIZE=1024

# Disable features not needed
CONFIG_TIMESLICING=n
CONFIG_MINIMAL_LIBC_MALLOC=n
CONFIG_LOG=n
CONFIG_ASSERT=n

# Disable Bluetooth features not needed
CONFIG_BT_DEBUG_NONE=y
CONFIG_BT_ASSERT=n
CONFIG_BT_DATA_LEN_UPDATE=n
CONFIG_BT_PHY_UPDATE=n
CONFIG_BT_GATT_CACHING=n
CONFIG_BT_GATT_SERVICE_CHANGED=n
CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=n
CONFIG_BT_SETTINGS_CCC_LAZY_LOADING=y
CONFIG_BT_HCI_VS_EXT=n

# Disable Bluetooth controller features not needed
CONFIG_BT_CTLR_PRIVACY=n
CONFIG_BT_CTLR_PHY_2M=n

# Reduce Bluetooth buffers
CONFIG_BT_BUF_EVT_DISCARDABLE_COUNT=1
CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=43
CONFIG_BT_BUF_EVT_RX_COUNT=2

CONFIG_BT_CONN_TX_MAX=2
CONFIG_BT_L2CAP_TX_BUF_COUNT=2
CONFIG_BT_CTLR_RX_BUFFERS=1
CONFIG_BT_BUF_ACL_TX_COUNT=3
CONFIG_BT_BUF_ACL_TX_SIZE=27
&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Simon&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/389210?ContentTypeID=1</link><pubDate>Tue, 04 Oct 2022 12:43:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dae7b078-3b2d-4855-82b9-192a3a9af1b1</guid><dc:creator>clake</dc:creator><description>&lt;p&gt;Yes, that project has it, but I was talking about another project of mine that I don&amp;#39;t have the kconfig.&lt;/p&gt;
&lt;p&gt;What I wanted to tell was that I have a project, like peripheral_lbs but with more functions and I have a working prj.config. If I want that to be minimal, only changing the name is enough? because after doing that the project does not compile anymore.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388909?ContentTypeID=1</link><pubDate>Mon, 03 Oct 2022 08:11:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d343ad1b-21f7-45b0-b802-60f686ab9ba8</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;What do you mean by not having a Kconfig file?&amp;nbsp;By default the peripheral_lbs sample project has a Kconfig file already looking like this:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1664783266700v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Is that not the case in your project, have you removed it? You will nee to edit the prj_minimal.conf to include what configurations you want it to use, like the PWM (and its dependencies, see the link in my last reply). With the PWM enabled and dependencies in your config file, you should be able to get past this error message.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388697?ContentTypeID=1</link><pubDate>Fri, 30 Sep 2022 08:49:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4adc2fe8-b97b-4569-a8ba-66f7365302a0</guid><dc:creator>clake</dc:creator><description>&lt;p&gt;Hi Simon&lt;/p&gt;
&lt;p&gt;I have tried it but I get the same error as before. The only thing that I made was changing the prj.conf to prj_minimal.conf with all the same settings. Also my project does not have a kconfig file, is that ok?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388579?ContentTypeID=1</link><pubDate>Thu, 29 Sep 2022 13:19:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:51321c72-96c3-472b-96df-01ddeb6d9c81</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;CONFIG_NRFX_PWM0 only enables the PWM0 driver instance of the PWM, you also have to enable support for the PWM driver with&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html#CONFIG_PWM_NRFX"&gt;CONFIG_PWM_NRFX&lt;/a&gt;&amp;nbsp;and its dependencies.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388458?ContentTypeID=1</link><pubDate>Thu, 29 Sep 2022 06:26:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e44beec5-c007-4581-89be-12ebff48d8c3</guid><dc:creator>clake</dc:creator><description>&lt;p&gt;Thanks for the answer Simon.&lt;/p&gt;
&lt;p&gt;I have tried the prj_minimal.conf but I need to use the PWM for my project. I had enabled it adding CONFIG_NRFX_PWM0=y in the prj_minimal.conf but when I want to build, it give me an error:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;error: &amp;#39;NRFX_PWM0_INST_IDX&amp;#39; undeclared here (not in a function); did you mean &amp;#39;NRFX_PWM_INSTANCE&amp;#39;?
   62 |     .drv_inst_idx = NRFX_CONCAT_3(NRFX_PWM, id, _INST_IDX), \&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;So, How can I solve it? or I need to use the prj.config without minimal?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388318?ContentTypeID=1</link><pubDate>Wed, 28 Sep 2022 10:40:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7d5d64b-fb8a-4c2a-a92f-947790fa3e1c</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;You&amp;#39;re free to use what controller you&amp;#39;d like or prefer, but the configuration sample extensions are made for the nRF Connect SDK. It should be very similar for a pure Zephyr based project though.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388176?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 14:11:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8bdff37b-f5c2-4b3c-9258-32bebf345459</guid><dc:creator>clake</dc:creator><description>&lt;p&gt;Hi Sominr,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll have a look at it. So the best way can be use the nrf SDK instead of using zephyr?&lt;/p&gt;
&lt;p&gt;Also for CheMax, I use the project peripheral_lbs and compile for the nrf52dk_nrf52810 without problems but this is the RAM/FLASH consumption of that project:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[225/225] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:      173960 B       192 KB     88.48%
            SRAM:       24073 B        24 KB     97.95%
        IDT_LIST:          0 GB         2 KB      0.00%&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388159?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 13:25:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:15cd0cd8-4347-4e61-949a-11e4ac0e4c0f</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;For our SoCs that are on the lower end in terms of RAM and Flash memory, it&amp;#39;s strongly recommended to build them with the minimal build variant overlay config. You can see how to do so in the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/bluetooth/peripheral_uart/README.html#peripheral-uart-sample-activating-variants"&gt;&amp;quot;Activating sample extensions&amp;quot; &lt;/a&gt;or make your own &amp;quot;minimal&amp;quot; config file based on&amp;nbsp;the prj_minimal.conf file. The projects in NCS should build for the nRF52810 as well with the minimal configs set.&lt;/p&gt;
&lt;p&gt;As CheMax says, the nRF52810 only has 24kB RAM, so there won&amp;#39;t be too much left with the Zephyr or SoftDevice controller as well as a BLE application on top, but you can use the &lt;a href="https://nrfconnect.github.io/vscode-nrf-connect/connect/ui.html#actions-view"&gt;Memory Report in our VS Code nRF Connect extension&lt;/a&gt; to see what files, etc. is taking up most of your RAM and/or ROM.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388112?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 11:20:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:34b9943d-5253-464b-ac41-2035e03a03f4</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;unfortunately I can&amp;#39;t help here. I tried to build a project (NCS 2.0.0, peripheral_lbs) for 52810, but I get an error: flash memory overflow.&amp;nbsp;&lt;br /&gt;&lt;a href="https://github.com/zephyrproject-rtos/zephyr/issues/15103"&gt;Here&lt;/a&gt; is discussed a similar problem, read the branch to the end.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388088?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 10:08:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:41900a8a-4e9d-4eed-a93c-42dab416840f</guid><dc:creator>clake</dc:creator><description>&lt;p&gt;Hi Max,&lt;/p&gt;
&lt;p&gt;Thanks for the answer. I&amp;#39;ve forgot to indicate the SDK, I&amp;#39;m using zephyr and with the example project of BLE with the function for turn on a LED. Using that, the value of RAM used is very high.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: high RAM consumption for a BLE app</title><link>https://devzone.nordicsemi.com/thread/388087?ContentTypeID=1</link><pubDate>Tue, 27 Sep 2022 10:01:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:217d0fe8-7ab4-492a-8cf2-72c04c17d904</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;NRF52810 have only 24kB RAM. So, for BLE S112 stack&amp;nbsp;needs 3.7kB.&amp;nbsp;so about 20 kB should be available for your application (free 85%).&lt;/p&gt;
&lt;p&gt;Further, if you use Segger, then the size of the stacks (main and process) and heap area is also indicated in the project settings.&amp;nbsp;I don&amp;rsquo;t know how many you have indicated, I had these values ​​at the level of 2kB each.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;And then you need to look at what kind of code in general you are trying to compile, what is connected and what is being used.&lt;/p&gt;
&lt;p&gt;For a more precise answer, indicate which SDK you are using, which stack, and also, if possible, show the code. Then the answer will be more informative.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards, Max&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>