<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
Hi<br>
<br>
I always need more SRAM.  Whilst trying to tune my use of this precious
resource, I found myself adding numbers which always came up 4K short
of 32K.  When using external SRAM with ICC and when you have lots of
variables assigned (ie. more than the 4K internal), ICC moves the bss
and data area into external SRAM leaving only the HW and SW Stack in
internal SRAM.  (This is a rough paraphrase of what actually happens, I
know it isnt quite like this)<br>
<br>
I have used the following statement to make use of the unallocated
memory at the top of my main function.<br>
<br>
    NutHeapAdd((void *) 0x100, 0xf00); // f00= 1k - 256 bytes for stacks<br>
<br>
While it is only a small chunk of memory, fragmentation isnt too much
of an issue and 3.5+K gives me a very nice overhead.<br>
<br>
Is this something we could add to nutinit.c?  Have I missed something
critical (ie. should I leave this space untouched for system use?) Does
anyone know if we can parameterise this to be driven by compiler/linker
flags rather than hard coded as I have.<br>
<br>
I am uncertain if this "forgotten" memory occurs in gcc, or even if it
only occurs on my version of ICC.<br>
<br>
Hope this is of use.<br>
Cheers<br>
Brett<br>
<pre class="moz-signature" cols="72">-- 
-----------------------------------------------------------------
Brett Abbott, Managing Director, Digital Telemetry Limited
Email: <a
 class="moz-txt-link-abbreviated"
 href="mailto:Brett.Abbott@digital-telemetry.com">Brett.Abbott@digital-telemetry.com</a>
PO Box 24 036 Manners Street, Wellington, New Zealand
Phone +64 (4) 5666-860  Mobile +64 (21) 656-144
------------------- Commercial in confidence --------------------
</pre>
</body>
</html>