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.


On Sat, Sep 19, 2009 at 9:06 PM, Maarten Brock <sourceforge.brock@dse.nl> wrote:
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.

sdcc main.rel others.rel -Wl-bCONST=0x0400


> 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   Decimal Bytes (Attributes)
> --------------------------------   ----   ----   ------- ----- ------------
> CONST                              E688   04DD =   1245. bytes
>       Value  Global
>    --------  --------------------------------
>   0C:E688    FhaDeviceDescription$__haDeviceDescription$0$0
>   0C:E6A6    FhaNames$_str_0$0$0
>   0C:E6B1    FhaNames$_str_1$0$0
> On Thu, Sep 17, 2009 at 6:59 PM, David Lucena <yakumoklesk@yahoo.es> wrote:
> > 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.
> >
> >

Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
Sdcc-user mailing list