<?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>Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/38470/program-code-size-more-than-code-data-ram</link><description> 
Hi ALL, 

 
i am using Cypress fx2lp chip in my application &amp;amp; uVision2
IDE. i have 16KB of code &amp;amp; data memory but my code size is more
than it. so i am planning to have two memory segments 1. fixed memory
(around 10KB) 
2. shared memory n(6KB) 

 
i</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/125627?ContentTypeID=1</link><pubDate>Thu, 06 Aug 2009 04:32:24 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:848d1d97-3cac-4843-a35b-df26de64ffda</guid><dc:creator>stephen phillips</dc:creator><description>&lt;p&gt;&lt;p&gt;
I take it security is an obvious non issue? IE you don&amp;#39;t care if
your code is dumped and reversed engineered?&lt;/p&gt;

&lt;p&gt;
That will be easy if you do things this way. There are reasons
they don&amp;#39;t use RAM for code space on many microcontrollers, theft is
a one, another is people reprogramming it to do things you don&amp;#39;t want
it too. So property theft and liability are some of the main reasons
you do not execute code from RAM on microcontrollers. Unless you are
doing a consumer item that can&amp;#39;t kill someone cause an explosion
etc.&lt;/p&gt;

&lt;p&gt;
Stephen&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/125625?ContentTypeID=1</link><pubDate>Thu, 06 Aug 2009 03:53:27 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:018bf951-17ca-4aad-801b-ddd0f8a9a364</guid><dc:creator>&amp;#178;erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
still you would be far better off choosing a chip with more code
memory (tons avaialble) or use an external code memory.&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/115131?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2009 21:13:40 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a3950e4e-f8ed-4887-aa33-c4e550576825</guid><dc:creator>Dhanraj Rajput</dc:creator><description>&lt;p&gt;&lt;p&gt;
Eric, code memory is 16KB RAM&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/103325?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2009 10:28:04 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1cb55294-a6e7-463d-82b3-c380e403305f</guid><dc:creator>&amp;#178;erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;i will always read from NAND so wearing issue is
solved.&lt;/i&gt;&lt;br /&gt;
since you need the CODE in CODE memory (which is flash) the wearing
issue is NOT solved.&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/77639?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2009 07:29:41 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a7ce4a15-2353-4f99-9ee0-703063295642</guid><dc:creator>Dhanraj Rajput</dc:creator><description>&lt;p&gt;&lt;p&gt;
Stephen,&lt;/p&gt;

&lt;p&gt;
it is not boot loader but similar stuff. fx2lp can talk to NAND
flash. boot loader firmware is available for loading code from NAND
flash for fx2lp. fx2lp is the perfect for my application but it has
16KB of internal memory only. though it can support 64KB of total i
can not afford to have external memory(Huge quantity).my plan is to
use memory overlay for 6KB memory &amp;amp; keep 10KB fixed code. i will
always read from NAND so wearing issue is solved. remaining space in
NAND will be used for mass storage purpose. i can manage mass storage
&amp;amp; stuff. plan is compile some individual function &amp;amp; keep in
hidden area of nand flash. load them into data/code memory whenever
required (one at a time)&amp;amp; execute but how do i compile specific
function individually which will be using global variable from fixed
memory.&lt;/p&gt;

&lt;p&gt;
any suggestion&lt;/p&gt;

&lt;p&gt;
-dhanraj&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/89907?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2009 05:34:02 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:19513007-6383-4ad9-92e0-e8ffc7cbe1ce</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
It&amp;#39;s not just a matter of &amp;quot;should&amp;quot; - it is impossible!&lt;/p&gt;

&lt;p&gt;
The 8051 architecture &lt;i&gt;&lt;b&gt;cannot&lt;/b&gt;&lt;/i&gt; fetch instructions for
execution from anything other than CODE space.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/56554?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2009 04:59:36 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7032bf0f-e5e1-475b-9dbb-1f76f2b4c14d</guid><dc:creator>stephen phillips</dc:creator><description>&lt;p&gt;&lt;p&gt;
As Erik has pointed out, why do you need to do this?&lt;/p&gt;

&lt;p&gt;
Are you trying to make a boot loader?&lt;/p&gt;

&lt;p&gt;
The c51 series has several different address spaces. Code space is
set as read only and is where the program executes from. XDATA is
READ/WRITE along with internal RAM, neither of which you should
execute from.&lt;/p&gt;

&lt;p&gt;
You also run the risk of wearing the memory out as well. Flash and
EEPROM have a certain number of cycles they can be written to before
they begin going through various failure modes (mostly random bit
errors). If you need to have more memory you have the option of bank
switching more data into code space.&lt;/p&gt;

&lt;p&gt;
Perhaps you could explain better what you are hoping to accomplish
or intend to do?&lt;/p&gt;

&lt;p&gt;
If your program is too large, consider how to reduce it&amp;#39;s size by
more efficient programming, and removing unnecessary code.&lt;/p&gt;

&lt;p&gt;
Stephen&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/89910?ContentTypeID=1</link><pubDate>Wed, 05 Aug 2009 04:20:46 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:efa4b40d-cad6-46ed-a484-52730d821b67</guid><dc:creator>&amp;#178;erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
why not real;ize&lt;/p&gt;

&lt;p&gt;
The &amp;#39;51 ain&amp;#39;t no PC&lt;/p&gt;

&lt;p&gt;
The &amp;#39;51 (and other micro&lt;b&gt;controllers&lt;/b&gt;) is NOT and has NEVER
been intended for &amp;quot;loaded program&amp;quot;&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Program code Size more than CODE/DATA RAM</title><link>https://community.arm.com/thread/56558?ContentTypeID=1</link><pubDate>Tue, 04 Aug 2009 23:59:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:dc4acc39-c921-4a3f-9bb6-27b99b181050</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
Would it not be simpler just to choose a processor with sufficient
memory in the first place?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>