[fpc-pascal] Constants
Carsten Bager
carsten at beas.dk
Tue Jan 10 08:17:23 CET 2006
> 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