[fpc-pascal] Constants

Carsten Bager carsten at beas.dk
Wed Jan 18 12:14:53 CET 2006


Would there be a chance to implement "Static" or something that did 
the same trick, in the compiler. Now I write my constants in an 
assembler file. That´s acceptable, but it is not a very elegant way to 
do it.

Regards Carsten

> > Carsten Bager wrote:
> > 
> > > Hi
> > > I am programming to an embedded ARM platform and my question 
> > > is, is it possible to force constants to stay in the code segment 
> > > (constant strings etc.) In C you can do this using "static".
> > > It looks as all string constants are placed in the data segment, and all 
> > > variables are placed in the bss segment. Is that always the case? 
> > 
> > Yes. What's the exact reason you need them in text segment?
> The Arm I use has 512KB flash and 32KB Ram, therefore I would 
> like if I could define text constants that where placed in the flash 
> segment (text). A way around this is:
> 1. To define string constants in an assembler file. 
> 2. To tell the linker that the data segment are placed in flash (at the 
> right location). Then change the start up code so it dos not initialize 
> the data segment and change the system files so all predefined 
> variables are changed to normal variables which are initialized.
> I have not tried (2), but I assume it is possible.
> The very best would be if things was like this
> Static
> St: array[0..4] of char ='12345'; {Placed in text segment}
> Var
> St: array[0..4] of char ='12345'; {Placed in data segment}
> Or something that worked the same way.
> Regards
> Carsten

More information about the fpc-pascal mailing list