<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Actually, I removed the hard coded stack_top, and put in a line to place stack_top at the very top of RAM - dependent up on the settings in the controller structure.<br><br>+              Add('_stack_top = 0x' + IntToHex(sramsize+srambase-4,8) + ';');<br><br>This sets stack_top to the very top of the SRAM space minus 4 bytes.  So long as the srambase and sramsize are correct, the stack pointer will get set to the top of SRAM.<br><br>Not sure how you are making your conclusion.  Any line with "stack_top=0x20fffc" is being deleted with this patch.<br><br>However, if I might ask - which controller are you using this on ?<br><br>Thanks,<br><br>John<br></div><div style="font-family:times new roman, new york, times,
 serif;font-size:12pt"><br><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><font face="Tahoma" size="2"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Geoffrey Barton <mrb@periphon.net><br><b><span style="font-weight: bold;">To:</span></b> FPC developers' list <fpc-devel@lists.freepascal.org><br><b><span style="font-weight: bold;">Sent:</span></b> Sun, August 21, 2011 2:46:55 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [fpc-devel] ARM patch to switch to controller records rather than arrays<br></font><br>
<meta http-equiv="x-dns-prefetch-control" content="off"><base><br><div><div>On 21 Aug 2011, at 00:35, John Clymer wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse:separate;font-family:Verdana;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"><div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:times, serif;font-size:12pt;">DIFF attached for comment and review.  Provides the following features / difference:<br><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:times, serif;font-size:12pt;"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:times, serif;font-size:12pt;"><div
 style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-family:times, serif;font-size:12pt;"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;"><br>1) Switched operation of cpuinfo.pas - there is still a SET containing the ct_ constants, but that now indexes an array of structures rather than a collection of arrays.  The array contains the info from the old arrays, PLUS FLASH, SRAM and EPROM memory definitions i.e. BASE and SIZE for each.<br>NOTE:  Switched for both ARM and AVR.  AVR changes will compile the cross compiler, but choke while building the RTL  (complaining about a function being too complex). However, the SVN and daily build exhibit the same behaviour - so I do not believe I have broken the AVR any further than it was broken.<br><br>2) Added LM3FURY controller unit file - this will be built up into a base unit file for all the Fury class Stellaris controllers.<br><br>3)
 I intend to leave the "Stellaris" controller class with the intention that those that don't want a full set of system defines can use this class and will receive nothing more than the bare minimum to boot a chip into PASCALMAIN.  The Flash and SRAM sizes will be set very large - so caveat emptor to the user if, as they will need to ensure the programs do not require more resources than their chip require.<br></div></div></div></div></div></div></span></blockquote><div><br></div>It actually renders it unusable if the ram size is bigger than that in the device you are using as the stack top will be set outside the available ram. It has only ever worked before with the correct ram/flash sizes as I pointed out to you. It should be for specific known combinations, the ct_stellaris was incorrect before you diff'ed it, and now you have introduced another error (stack_top=0x20fffc?).</div><div><br></div><div>Personally, as somebody using this compiler on
 real projects, I think there are too many changes proposed here in one hit, completely untested.</div><div><br></div><div>festina lente</div><div><br></div><meta http-equiv="x-dns-prefetch-control" content="on"></div></div>



</div></body></html>