<?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>how to link executable to discontinuous flash area</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/40863/how-to-link-executable-to-discontinuous-flash-area</link><description> 
I am using uVision4.74 with STM32F407, I want to link my program
to two sections, one section is 0x8000000 length 0x4000, and the
other section is 0x8008000 length 0x38000. I did the setup in the
options form Taget &amp;#39;whatsoever&amp;#39;, but the linked file</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: how to link executable to discontinuous flash area</title><link>https://community.arm.com/thread/118590?ContentTypeID=1</link><pubDate>Thu, 12 Feb 2015 10:36:09 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:96502517-379d-4ea2-a634-6f791cdee614</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
The GNU linker has historically been a pretty poor one for
embedded work too. Then again you&amp;#39;re not paying &amp;#36;10-20K per seat for
it either.&lt;/p&gt;

&lt;p&gt;
Most are lazy, quick and predictable. I&amp;#39;d take this over smart,
slow and unpredictable. See also Hammerstein-Equord&lt;/p&gt;

&lt;p&gt;
Good function placement is a science, it depends a lot on system
level interactions, and chip choices (size, width, speed). A script
that understands your system and priorities is the way to go.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how to link executable to discontinuous flash area</title><link>https://community.arm.com/thread/108079?ContentTypeID=1</link><pubDate>Thu, 12 Feb 2015 06:56:42 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:720ac69f-f127-4a57-9d08-e7a983bf9ba2</guid><dc:creator>John Sinclair</dc:creator><description>&lt;p&gt;&lt;p&gt;
Target Options -&amp;gt; Linker -&amp;gt; deselect: &amp;quot;Use Memory Layout
from Target Dialog&amp;quot;&lt;/p&gt;

&lt;p&gt;
Now you can use the script File:&lt;br /&gt;
Target Options -&amp;gt; Linker -&amp;gt; Scatter File: &amp;quot;projectname.sct&amp;quot;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how to link executable to discontinuous flash area</title><link>https://community.arm.com/thread/82393?ContentTypeID=1</link><pubDate>Fri, 06 Feb 2015 12:41:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:9067319a-00f0-4e14-8990-30810de42e31</guid><dc:creator>gavin li</dc:creator><description>&lt;p&gt;&lt;p&gt;
So This linker is too lazy!!!&lt;br /&gt;
I know GNU linker support linker script, but I didn&amp;#39;t find anywhere
in the uVision to use linker script. Any idea?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how to link executable to discontinuous flash area</title><link>https://community.arm.com/thread/63463?ContentTypeID=1</link><pubDate>Fri, 06 Feb 2015 12:36:42 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d39d293b-c811-4227-a535-aca35bb73ec9</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
No the linker&amp;#39;s pretty stupid, and does a lazy allocation. For
optimum usage the linker would have to do multiple passes to get a
&amp;quot;best fit&amp;quot;, and that&amp;#39;s complicated and time consuming.&lt;/p&gt;

&lt;p&gt;
You&amp;#39;d really need to manager the scatter file, and balance what is
placed in each section. You could presumably do this with a script if
it really bugs you. Or you&amp;#39;re forced to think about when you run out
of space.&lt;/p&gt;

&lt;p&gt;
I&amp;#39;ve used other linkers where you can prioritize the function
ordering of the working set, so it can deal with cache line
proximity, and faster memories (internal vs external flash for
example), this again typically uses scripts and trace/performance
data.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>