<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/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/"><channel><title>RAM avail considerations on Keil Microvision</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/35004/ram-avail-considerations-on-keil-microvision</link><description> 
Hello everybody. I&amp;#39;m a absolute newbie on Keil Microvision and the
Cortex Mx platform. 
I&amp;#39;m currently facing an issue that I believe is linked to a memory
shortage on my test 8KB RAM Cortex M0 chip. 

 
I do not quite understand how one should interpret</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: RAM avail considerations on Keil Microvision</title><link>https://community.arm.com/thread/108580?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 04:07:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:878b9be2-d48c-4c85-bfce-f0e9150cc86d</guid><dc:creator>edPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Stack overflow is a &amp;quot;great&amp;quot; way to have a program crash.&lt;/p&gt;

&lt;p&gt;
And the linker can&amp;#39;t (normally) detect any stack overflow, unless
the code is 100% free of any case of recursion (and the linker has
access to a full call tree from inside the libraries).&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RAM avail considerations on Keil Microvision</title><link>https://community.arm.com/thread/93644?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 03:07:04 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7e5e6b90-5e73-4173-9d9b-4cd6b62fc4e0</guid><dc:creator>Kevin Pollark</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;If you&amp;#39;re creating a 1000-byte automatic variable, that comes
out of the stack - so won&amp;#39;t be reported in the memory
statistics...&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Where did &lt;b&gt;automatic&lt;/b&gt; come into it? In the original post, the
OP clearly stated he had a heavier buffer and even showed the
different map statistics with original ZI-data=6520 then after adding
the 1000, ZI-data=7504. Allowing for possible alignment, that&amp;#39;s
probably close enough.&lt;/p&gt;

&lt;p&gt;
It&amp;#39;s clear that the OP is simply running close to the limit on
available RAM.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RAM avail considerations on Keil Microvision</title><link>https://community.arm.com/thread/82965?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 02:18:49 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:31947384-90f3-4219-adc7-02eb2cab19b7</guid><dc:creator>cram redan</dc:creator><description>&lt;p&gt;&lt;p&gt;
Thanks for your reply Andrew. My variable is declared as an 1&amp;#39;000
bytes array. It is show in the statistics.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RAM avail considerations on Keil Microvision</title><link>https://community.arm.com/thread/82966?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2015 02:17:16 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:fc1e73d9-3c89-484d-aacd-9ea02d295e6e</guid><dc:creator>cram redan</dc:creator><description>&lt;p&gt;&lt;p&gt;
You&amp;#39;re right, my settings in the options dialog are correct
(0x2000) for an 8Kb RAM chip. The compiler does not throw any error
however, still the code does not execute on the chip... Maybe this
.map of the bugging file will help you figure out my problem :&lt;/p&gt;

&lt;p&gt;
19444 1454 2988 164 108 18048 Library Totals 40 0 10 1 0 0 (incl.
Padding)&lt;/p&gt;

&lt;p&gt;

----------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;
Code (inc. data) RO Data RW Data ZI Data Debug Library Name&lt;/p&gt;

&lt;p&gt;
5314 384 1421 87 40 5376 cpp_ps.l 730 28 20 0 0 1604 cpprt_p.l
4910 766 1404 48 28 5356 mbed.ar 6680 242 133 28 40 4308 mc_p.l 1770
34 0 0 0 1404 mf_p.l&lt;/p&gt;

&lt;p&gt;

----------------------------------------------------------------------
19444 1454 2988 164 108 18048 Library Totals&lt;/p&gt;

&lt;p&gt;

----------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;

==============================================================================&lt;/p&gt;

&lt;p&gt;
Code (inc. data) RO Data RW Data ZI Data Debug&lt;/p&gt;

&lt;p&gt;
33112 2372 3380 212 7504 549914 Grand Totals 33112 2372 3380 212
7504 549914 ELF Image Totals 33112 2372 3380 212 0 0 ROM Totals&lt;/p&gt;

&lt;p&gt;

==============================================================================&lt;/p&gt;

&lt;p&gt;
Total RO Size (Code + RO Data) 36492 ( 35.64kB) Total RW Size (RW
Data + ZI Data) 7716 ( 7.54kB) Total ROM Size (Code + RO Data + RW
Data) 36704 ( 35.84kB)&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RAM avail considerations on Keil Microvision</title><link>https://community.arm.com/thread/69448?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2015 11:51:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f43c1834-8fae-4f22-b072-b9a9bbcd1ad5</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
What, exactly, do you mean by that?&lt;/p&gt;

&lt;p&gt;
If you&amp;#39;re creating a 1000-byte &lt;i&gt;automatic&lt;/i&gt; variable, that
comes out of the &lt;b&gt;stack&lt;/b&gt; - so won&amp;#39;t be reported in the memory
statistics...&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://www.avrfreaks.net/forum/memory-sram-compiler"&gt;www.avrfreaks.net/.../memory-sram-compiler&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RAM avail considerations on Keil Microvision</title><link>https://community.arm.com/thread/64371?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2015 07:17:46 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:30d5bad6-9ce1-4fad-8b90-e8fd29199d1c</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
Sounds like you need to go into the options, and set up the Target
part correctly, describing the memory your device actually has, ie
IRAM 0x20000000, 0x2000 then the linker will throw an error if you
exceed the available space.&lt;/p&gt;

&lt;p&gt;
You might want to review the .MAP file now to see where all your
memory is going, it will break out in detail what contributes to the
line you are referencing.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>