[fpc-devel] Stellaris Update

John Clymer john at johnclymer.net
Tue Aug 16 12:16:29 CEST 2011

Stellaris ALWAYS has the Code starting at $0000:0000.

STM32's do something odd where the FLASH starts at $0800:0000, and the memory 
between $0000:0000 and $07FF:FFFF is mappable to either the FLASH or the 
built-in boot loader.  (Which throws a kink in the works.)

But, as far as the point of catching the 90% of possible uses - one could drop 
down to strictly {$FLASH_SIZE} and {$SRAM_SIZE}.  

The other option (unless one wants a gazzillion items on the case() statements 
in t_embed.pas) - is to set them extremely large so they don't get exceeded.  
However, the danger in that is if someone has an 8K part, and the program ends 
up spilling over 8K - it won't get picked up.

Also started un-commenting some parts of rtl.cfg in the embedded folder.  Is 
there any desire to support more of the RTL than the minimum (i.e.  have a 
default stdin and stdout - so WriteLn, etc work via the serial port ?)  Or is 
the intent that embedded includes on the bare minimal RTL to bring the machine 
up ?



From: Florian Klämpfl <florian at freepascal.org>
To: FPC developers' list <fpc-devel at lists.freepascal.org>
Sent: Tue, August 16, 2011 12:35:03 PM
Subject: Re: [fpc-devel] Stellaris Update

Am 16.08.2011 05:39, schrieb John Clymer:
> So, after some work, I have a compiler working for the LM3S8962 board (a
> successful Blinking LED :-)  )
> However, as I was going through some of the various datasheets, I see
> that all the Stellaris controllers have similar memory maps.  That is:
> A) Each type of device has a specific spot in the memory map to sit at.
> B) If a device has less or no device of a given type, that memory map is
> "Reserved"
> C) The SRAM and FLASH memories always start at the same address

So why would the directives be needed?

> As such, I'm leaning towards:
> {$FLASH_START xxxxx}
> {$FLASH_SIZE xxxxx }
> {$SRAM_START xxxxx }
> {$SRAM_SIZE xxxxx }
> By doing this, only 1 config will work for all stellaris parts (as was
> originally laid out in the cpuinfo file.)

What config? Memory layout in the compiler? Even without the directives
mentioned above, mulitple stellaris controllers can share the same
memory layout config in t_embedded?
fpc-devel maillist  -  fpc-devel at lists.freepascal.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20110816/d0626b76/attachment.html>

More information about the fpc-devel mailing list