Thanks Maarten. I will move some of the variables to other source file
and check out if it works.

-Saleem

On Sat, Jul 31, 2010 at 12:32 AM, Maarten Brock
<[email protected]> wrote:
> Saleem,
>
> Ah, I see now. You have almost all variables in one
> source file and together they need more space than is
> available between 0x08 and 0x1F (aaa). Only one byte is
> needed by another source (b) and it is placed where you
> would like. Unfortunately SDCC cannot break up the
> variable segments into smaller chunks. Maybe you can.
>
> Maarten
>
>> Hi,
>> I tried with the latest SDCC snapshot but no luck.
>> SDCC : mcs51/gbz80/z80/ds390/pic16/pic14/TININative/ds400/hc08 2.9.7
>> #5895 (Jul 29 2010) (Linux).
>> Here is the memory layout of my application image. As you can see data
>> starts at 21H. I want the data to start at free registers banks i.e.
>> 09H.
>>
>>         0 1 2 3 4 5 6 7 8 9 A B C D E F
>> 0x00:|0|0|0|0|0|0|0|0|b| | | | | | | |
>> 0x10:| | | | | | | | | | | | | | | | |
>> 0x20:|T|a|a|a|a|a|a|a|a|a|a|a|a|a|a|a|
>> 0x30:|a|a|a|a|a|a|a|a|a|a|a|a|a|S|S|S|
>> 0x40:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
>> 0x50:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
>> 0x60:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
>>
>> Here are the compilation flags I am using.
>>
>> sdcc  -V  --debug -mmcs51 --model-small --stack-auto  -o
>> src/core/ipv4/inet.rel -c src/core/ipv4/inet.c
>> + "/usr/local/bin/sdcc-2.9.7//sdcpp" -nostdinc -Wall
>> -I"./src/include/ipv4" -I"./src/include" -I"./src/include/netif"
>> -I"./8051/sdcc" -I"./8051/sdcc/arch" -I"./ethernet/cp2200/include"
>> -I"./os/ucos" -obj-ext=.rel -DSDCC_STACK_AUTO -DSDCC_MODEL_SMALL
>> -DSDCC_INT_LONG_REENT -DSDCC_FLOAT_REENT -DSDCC=297
>> -DSDCC_REVISION=5895 -DSDCC_mcs51 -D__mcs51 -isystem
>> "/usr/local/bin/sdcc-2.9.7//../share/sdcc/include/mcs51" -isystem
>> "/usr/local/share/sdcc/include/mcs51" -isystem
>> "/usr/local/bin/sdcc-2.9.7//../share/sdcc/include" -isystem
>> "/usr/local/share/sdcc/include"  "src/core/ipv4/inet.c"
>>
>> Can you please let me know how to pack application image to make use
>> of unused reg banks for data.
>>
>> Thanks,
>> Saleem
>>
>>
>> On Tue, Jul 27, 2010 at 3:58 PM, Maarten Brock <[email protected]> 
>> wrote:
>> > Saleem,
>> >
>> > You probably use printf which does use bit variables.
>> > The stack of course cannot cross the bit space.
>> >
>> > SDCC groups variables per source file. Now either all
>> > your groups of variables are over 24 bytes or 2.9.0 has
>> > a bug that is no longer in 2.9.7. Can you please try
>> > with the latest snapshot?
>> >
>> > Maarten
>> >
>> >> Hi,
>> >> I am not using any one of the other register banks for any ISR. So the
>> >> other banks should not be reserved for anything. It must be used for
>> >> data storage.
>> >>  I am using SDCC verison 2.9 and following are the compilation flags.
>> >> --debug -small-model --stack-auto
>> >>
>> >> Memory map shows that:
>> >> 00H-07H used as register bank0
>> >> 08H - _bp
>> >> 09H -1FH are unused.
>> >> 20H - indicates as T but no data is stored even though I don't have
>> >> any bit variables.
>> >> 21H onwards data stored and then stack follows.
>> >>
>> >> Thanks
>> >> Saleem
>> >>
>> >>
>> >>
>> >>
>> >> On Tue, Jul 27, 2010 at 1:42 AM, Maarten Brock <[email protected]> 
>> >> wrote:
>> >> > Hi,
>> >> >
>> >> > SDCC does not reserve the register banks for interrupts.
>> >> > And it should use unused banks for data storage
>> >> > automatically. Are you perhaps using an ancient version
>> >> > of SDCC? Or some special command line options?
>> >> >
>> >> > Maarten
>> >> >
>> >> >> Saleemuddin Mohd schreef:
>> >> >> > Hi All,
>> >> >> >
>> >> >> > I am compiling my application code with small-model and stack-auto
>> >> >> > flags. The generated .mem file shows that register bank 0 is being
>> >> >> > used for the whole application. The other register banks 1,2,3 are 
>> >> >> > not
>> >> >> > being used at all. Data starts storing at 20H i.e after the end of 
>> >> >> > the
>> >> >> > register banks and then the stack follows. Since we are using only 
>> >> >> > one
>> >> >> > register bank can we make use of other reg bank for data storage i.e
>> >> >> > let data starts at 08H. This will give more stack space for 
>> >> >> > re-entrant
>> >> >> > functions.
>> >> >> >
>> >> >> >
>> >> >> I think the reason for these extra registers not being used as storage
>> >> >> is that you can assign those register banks to specific interrupt
>> >> >> functions which saves quite a lot of push and pop instructions and thus
>> >> >> stack space.
>> >> >>
>> >> >> Gert
>> >> >
>> >> >
>> >> > ------------------------------------------------------------------------------
>> >> > The Palm PDK Hot Apps Program offers developers who use the
>> >> > Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>> >> > of $1 Million in cash or HP Products. Visit us here for more details:
>> >> > http://ad.doubleclick.net/clk;226879339;13503038;l?
>> >> > http://clk.atdmt.com/CRS/go/247765532/direct/01/
>> >> > _______________________________________________
>> >> > Sdcc-user mailing list
>> >> > [email protected]
>> >> > https://lists.sourceforge.net/lists/listinfo/sdcc-user
>> >> >
>> >>
>> >> ------------------------------------------------------------------------------
>> >> The Palm PDK Hot Apps Program offers developers who use the
>> >> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>> >> of $1 Million in cash or HP Products. Visit us here for more details:
>> >> http://ad.doubleclick.net/clk;226879339;13503038;l?
>> >> http://clk.atdmt.com/CRS/go/247765532/direct/01/
>> >> _______________________________________________
>> >> Sdcc-user mailing list
>> >> [email protected]
>> >> https://lists.sourceforge.net/lists/listinfo/sdcc-user
>> >>
>> >
>> >
>> >
>> > ------------------------------------------------------------------------------
>> > The Palm PDK Hot Apps Program offers developers who use the
>> > Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>> > of $1 Million in cash or HP Products. Visit us here for more details:
>> > http://ad.doubleclick.net/clk;226879339;13503038;l?
>> > http://clk.atdmt.com/CRS/go/247765532/direct/01/
>> > _______________________________________________
>> > Sdcc-user mailing list
>> > [email protected]
>> > https://lists.sourceforge.net/lists/listinfo/sdcc-user
>> >
>>
>> ------------------------------------------------------------------------------
>> The Palm PDK Hot Apps Program offers developers who use the
>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>> of $1 Million in cash or HP Products. Visit us here for more details:
>> http://p.sf.net/sfu/dev2dev-palm
>> _______________________________________________
>> Sdcc-user mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/sdcc-user
>>
>
>
>
> ------------------------------------------------------------------------------
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> http://p.sf.net/sfu/dev2dev-palm
> _______________________________________________
> Sdcc-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sdcc-user
>

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to