<?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>Memory paradigm with ARM Cortex-MX</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/39792/memory-paradigm-with-arm-cortex-mx</link><description> 
Hi guys, 

 
I&amp;#39;m relatively new to ARM development and am moving from simpler
micro-controllers where all memory is on-board. 

 
I was hoping someone would be so kind as to help me understand the
modern memory paradigm employed by a Cortex-M chip.</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Memory paradigm with ARM Cortex-MX</title><link>https://community.arm.com/thread/60881?ContentTypeID=1</link><pubDate>Tue, 03 Jul 2012 23:04:09 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:5738f8f5-11de-4643-9896-003f7c0eac93</guid><dc:creator>Mike Kleshov</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;Assuming I am using external SPIFI (NXP4350) to store my
program, does the compiler handle generating stack data in RAM for me
or is there some copying/fetching that must be done?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
What is &amp;#39;stack data&amp;#39; and why does it need &amp;#39;generating&amp;#39;?&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;If I had an external SRAM/SDRAM attached, is this a case of
editing the location of stack and heap memory in the project to have
it execute purely in the external memory, can I mix and match in any
way?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
An external SRAM/SDRAM usually requires some initialization of MCU
registers before it can be accessed. The initialization has to be
done early in the boot process if you want external memory to be used
for stack or code storage. AFAIK, you cannot do this by simply
ticking checkboxes in the project options dialog.&lt;br /&gt;
Luckily, you have complete control over your code: startup code can
be rewritten if required, scatter files can be used to accomodate
exotic memory layouts and so on.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>