<?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>Am I allowed to eat up a little bit of RAM space from S110 ?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/7193/am-i-allowed-to-eat-up-a-little-bit-of-ram-space-from-s110</link><description>Hello, 
 I am developing on top of S110, for nrf51822_xxaa, building with GCC.
And as my code is growing, even after mapping inspection, gcc optimizations, stripping, heap reduction and using nano lib, I am still reaching the infamous link error : </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 21 May 2015 19:17:45 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/7193/am-i-allowed-to-eat-up-a-little-bit-of-ram-space-from-s110" /><item><title>RE: Am I allowed to eat up a little bit of RAM space from S110 ?</title><link>https://devzone.nordicsemi.com/thread/25428?ContentTypeID=1</link><pubDate>Thu, 21 May 2015 19:17:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88274968-e6da-444c-93fa-fe225b3cb6c4</guid><dc:creator>John</dc:creator><description>&lt;p&gt;Just to expand on part of Nick&amp;#39;s answer: If you are not using dynamic memory allocation such as malloc, you can set the heap to zero and get back 2K of RAM.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Am I allowed to eat up a little bit of RAM space from S110 ?</title><link>https://devzone.nordicsemi.com/thread/25427?ContentTypeID=1</link><pubDate>Thu, 21 May 2015 18:49:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e72bf758-7c3a-4d28-8c3f-e9bb1b904e67</guid><dc:creator>Jean-Louis Bonnaff&amp;#233;</dc:creator><description>&lt;p&gt;reducing the stack size in the gcc_startup_nrf51.s did the trick - Thanks a ton, Nick !&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Am I allowed to eat up a little bit of RAM space from S110 ?</title><link>https://devzone.nordicsemi.com/thread/25426?ContentTypeID=1</link><pubDate>Thu, 21 May 2015 18:29:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f5adfc0-d318-4f92-bfc4-1b455d9d240a</guid><dc:creator>Nick Pelis</dc:creator><description>&lt;p&gt;Depending on your requirements, you may be able to shrink the size of the heap and stack.  Check out arm_startup_nrf51.s.&lt;/p&gt;
&lt;p&gt;Also keep in mind indirect function calls (e.g., C++ code, structs of function pointers) are complicated for the compiler to implement on the Cortex-M0 architecture, resulting in more assembly instructions and larger code.  Same applies for indirect memory reads/writes (e.g. pointers to arrays, arrays of pointers, double-pointers, etc.).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>