<?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>the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10955/the-way-of-reducing-softdevice-resource-consumption</link><description>Hello, 
 in the new version of sdk (11.0.0) you support s130 only.
That means the code contains both peripheral and central implementation.
Does it mean that s130 consume more RAM resources than s110 and s120 separately?
If so, how to reduce consumption</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 22 Dec 2015 11:31:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10955/the-way-of-reducing-softdevice-resource-consumption" /><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40972?ContentTypeID=1</link><pubDate>Tue, 22 Dec 2015 11:31:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:348f9c7d-59f5-43a3-b04e-d48f4f60c831</guid><dc:creator>Gerbert Shnauer</dc:creator><description>&lt;p&gt;OK, thank you, I&amp;#39;ve understood the source of the values.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40971?ContentTypeID=1</link><pubDate>Tue, 22 Dec 2015 09:31:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:41a87279-e56d-44ea-83c6-2e83ead9a94c</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Gerbert: The configuration in the *.ld files in \components\softdevice\s130\toolchain\armgcc are wrong. I have reported it.&lt;/p&gt;
&lt;p&gt;Please use the .ld file in the example folder if you are testing with the example. Or define your own based on your configuration, following what I described in the answer above.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40974?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 23:10:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e82ab222-9f4d-48cf-97f8-c14babb377e0</guid><dc:creator>monpetit</dc:creator><description>&lt;p&gt;Have you ever used these scripts in the real world?&lt;/p&gt;
&lt;p&gt;Why do you suppose the linker scripts of examples are like these?&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ grep RAM examples/ble_peripheral/*/pca10028/s130/armgcc/*.ld | sed -e &amp;#39;s/.*armgcc\///&amp;#39;
ble_app_alert_notification_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
ble_app_ancs_c_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
ble_app_beacon_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001860, LENGTH = 0x67a0
ble_app_bps_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
ble_app_cscs_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
ble_app_cts_c_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
ble_app_gls_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
...
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40969?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 20:38:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2e871d80-2e7b-47c2-b117-f48e7f13042d</guid><dc:creator>Gerbert Shnauer</dc:creator><description>&lt;p&gt;Thank you very much.
Tutorial would be very useful to understand architecture correctly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40973?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 20:30:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b455c8c3-4383-4d8d-8e14-d3ef623c4d16</guid><dc:creator>Gerbert Shnauer</dc:creator><description>&lt;p&gt;$ grep RAM sdk_11.0.0/components/softdevice/s130/toolchain/armgcc/*.ld
sdk_11.0.0/components/softdevice/s130/toolchain/armgcc/armgcc_s130_nrf51422_xxaa.ld:  RAM (rwx) :  ORIGIN = 0x20000000, LENGTH = 0x4000&lt;/p&gt;
&lt;p&gt;sdk_11.0.0/components/softdevice/s130/toolchain/armgcc/armgcc_s130_nrf51422_xxac.ld:  RAM (rwx) :  ORIGIN = 0x20000000, LENGTH = 0x8000&lt;/p&gt;
&lt;p&gt;sdk_11.0.0/components/softdevice/s130/toolchain/armgcc/armgcc_s130_nrf51822_xxaa.ld:  RAM (rwx) :  ORIGIN = 0x20000000, LENGTH = 0x4000&lt;/p&gt;
&lt;p&gt;sdk_11.0.0/components/softdevice/s130/toolchain/armgcc/armgcc_s130_nrf51822_xxab.ld:  RAM (rwx) :  ORIGIN = 0x20000000, LENGTH = 0x4000&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40968?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 16:32:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dfe7415c-a3fd-4dea-a81a-47887ff8035f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Gerbert,&lt;/p&gt;
&lt;p&gt;It&amp;#39;s correct that the minimum RAM required for the S130 actually lower than what was on the S110 or S120.&lt;/p&gt;
&lt;p&gt;The reason for that is that the RAM configured for S130 v2.x is configurable via the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s130.api.v2.0.0/group___b_l_e___c_o_m_m_o_n___f_u_n_c_t_i_o_n_s.html?cp=2_7_2_1_0_2_0_1_3_0#ga812ea2c6258c1cf705c7c114b6297aab"&gt;sd_ble_enable()&lt;/a&gt; function. This is because the number of central, peripheral and encrypted central link that you plan to handle is configurable.&lt;/p&gt;
&lt;p&gt;On earlier softdevice version was fixed, for example the  S110 support 1 peripheral links, S120 support 8 central links, S130 v1.x support 3 central links and 1 peripheral link. On S130 v2.x this is flexible.
So if you just want the functionality of S110, you can configure the S130 to support only 1 peripheral link, this way you won&amp;#39;t waste RAM on the S130.&lt;/p&gt;
&lt;p&gt;Note 1: you can only save RAM, the flash size is fixed&lt;/p&gt;
&lt;p&gt;Note 2: To be able to configure the RAM correctly, you should start first with a dummy RAM configuration, such as ORIGIN = 0x20001f00, LENGTH = 0x6100, and put 0x20001f00 into the p_app_ram_base parameter. Then you run in debug mode and add a breakpoint at the function. After you call the function, you can check the p_app_ram_base again and see what is the actual RAM requirement for the setup you choose. After that you can update the RAM configuration in KEIL.&lt;/p&gt;
&lt;p&gt;We will publish a tutorial with more detail on how to do it soon.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40975?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 15:15:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3128adc8-1431-47c1-ad7b-b6d79f113b3a</guid><dc:creator>monpetit</dc:creator><description>&lt;p&gt;Really? Then how much does the s130 consume RAM in SDK 11.0.0? Please show me the values.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40976?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 09:53:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c9ab5451-aeda-43f4-a223-170351186588</guid><dc:creator>Gerbert Shnauer</dc:creator><description>&lt;p&gt;Well, these values are not for the SoftDevice.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: the way of reducing softdevice resource consumption</title><link>https://devzone.nordicsemi.com/thread/40970?ContentTypeID=1</link><pubDate>Sun, 20 Dec 2015 00:16:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12d439ce-a668-48d4-80a7-0e9cda8d9be2</guid><dc:creator>monpetit</dc:creator><description>&lt;p&gt;Hi Gerbert,&lt;/p&gt;
&lt;p&gt;RAM usage of the SoftDevice in s130_nrf51_2.0.0-7.alpha is alreay reduced compared with s110_nrf51_8.0.0.
Look at linker scripts.&lt;/p&gt;
&lt;p&gt;s110 on SDK 10.0.0:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MEMORY
{
  FLASH (rx) : ORIGIN = 0x18000, LENGTH = 0x28000
  RAM (rwx) :  ORIGIN = 0x20002000, LENGTH = 0x6000
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;s130 on SDK 11.0.0-2.alpha:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MEMORY
{
  FLASH (rx) : ORIGIN = 0x1b000, LENGTH = 0x25000
  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Although flash usage grew, now we have more RAM. :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>