<?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>Speed-up by executing function in SRAM  instead of SDRAM</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/25356/speed-up-by-executing-function-in-sram-instead-of-sdram</link><description> 
Hi, 
is it possible - to speed up execution - to execute functions in
SRAM, while the main application is running in SDRAM? 

 
I already had a look into the docs, but there is only a way to
place a function in SRAM at program begin by telling the linker</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Speed-up by executing function in SRAM  instead of SDRAM</title><link>https://community.arm.com/thread/103035?ContentTypeID=1</link><pubDate>Wed, 08 Apr 2009 23:46:24 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:5febafb1-5446-4736-8fe3-58e018ec70d5</guid><dc:creator>Christoph Franck</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;When is the function code copied to the execution region? At
startup or at runtime - right before execution?&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
It doesn&amp;#39;t matter - it&amp;#39;s not the job of the linker to copy the
code. Telling the linker that a function has different load and
execute addresses says nothing about where a function is when it is
not running. It just says &amp;quot;Hey, when you call the function, it&amp;#39;ll he
&lt;b&gt;here&lt;/b&gt;.&amp;quot;. You may feel free to use the the space occupied by the
functions code in other ways while the function is not running.&lt;/p&gt;

&lt;p&gt;
Usually, you will have the startup code copy the function to its
execute address, but the startup code is easily modified not to do
this automatically.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Speed-up by executing function in SRAM  instead of SDRAM</title><link>https://community.arm.com/thread/77338?ContentTypeID=1</link><pubDate>Wed, 08 Apr 2009 23:27:44 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:6b5f921e-089d-4ff8-9f44-a4d4e4a8b256</guid><dc:creator>Stefan Hartwig</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi,&lt;br /&gt;
maybe I misunderstood the docs.&lt;br /&gt;
When is the function code copied to the execution region? At startup
or at runtime - right before execution?&lt;/p&gt;

&lt;p&gt;
If its copied to SRAM at startup, I can only execute functions
which fit the SRAM. When its copied right before execution, I can
have many function to be execute in SRAM one after another, when each
of them fits into SRAM.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Speed-up by executing function in SRAM  instead of SDRAM</title><link>https://community.arm.com/thread/55813?ContentTypeID=1</link><pubDate>Wed, 08 Apr 2009 12:46:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d40d6991-82b6-4e34-87fd-1f20697a6fba</guid><dc:creator>Christoph Franck</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;I already had a look into the docs, but there is only a way to
place a function in SRAM at program begin by telling the linker the
functions location.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
The chapter about scatter-loading is the last one in the linker
documentation. That&amp;#39;s the one you want to look at, especially the
parts about setting load and execution addresses of functions.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>