Hi,
I did it with -Wl-bCONST=0x0800
Interrupt vectors are also at that address(I use a bootloader, so vectors
are repositioned), Now the location of const after this switch is not
0x0800 but it made the linker put const on lower area than before. Now it's
at around 0x7xxx.
Which is great.
Thanks.
Hello Peter,
This method only works for z80 I think. For mcs51 the
best option is to absolutely locate the CONST area while
linking. Remember that the lowest address is used by the
reset and interrupt vectors, so stay above them.
Example:
sdcc main.rel others.rel -Wl-bCONST=0x0400
HTH,
Maart
How do I do that? I've looked at all crtxxx.asm files and there doesn't seem
to be any const area defined there. Or is it there by different name?
This is what is in the .map file now. And i'd like to move this area lower
than 0xC000.
Target is mcs51
Area Addr Size
How do I do that? I've looked at all crtxxx.asm files and there doesn't
seem to be any const area defined there. Or is it there by different
name?
This is what is in the .map file now. And i'd like to move this
area lower than 0xC000.
Target is mcs51
Area Ad
Maybe you should get the used crt.s and make one yourself changing the const
area from end to the beggining and then tell sdcc to use your own crt.
--- El jue, 17/9/09, Peter Kuhar escribió:
> De: Peter Kuhar
> Asunto: [Sdcc-user] Moving const area to begining of program memory
> P
Hi,
Currently by default the CONST area is at the end of the program memory,
after the code.
Is is possible to move the CONST area to beginning of program memory?
I need this so I can access this constants as XDATA ( CC2430 pamps lower
part of code memory to xdata ) since __xdata pointer access