Andy,

You're right. The combination --model-large and --stack-auto is not 
pre-built for SDCC.

And when using --model-large you'll find a lot of intermediate 
temperary results (sloc) are located in data memory. More info is in 
the .map file, but library locals do not show up.

Maarten

> I've trawled the archives, but not found a conclusive answer to this.
> 
> We have some code which Keil can compile and run happily, without using
> much IRAM at all.
> When I build with SDCC, the IRAM is full - see .mem below.
> 
> Since I'm using --model-large, what is it putting in IRAM? Is there a
> way to find out what variables are being put in there? (and then to move
> them out to xdata?!)
> 
> I can build with --stack-auto, but have seen at least one post saying
> that isn't recommended alongside --model-large. And am I right in
> thinking I have to rebuild the libraries to do this?
> 
> Thanks all,
> Andy
> 
> 
> 
> 8<------ .mem file ------
> 
> Internal RAM layout:
>       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|a|a|a|a|a|a|a|a|
> 0x10:|a|a|a|a|b|d|d|h|h|h|h|h|h|h|h|l|
> 0x20:|B|B|B|B|B|B|B|B|B|T|c|c|c|c|c|c|
> 0x30:|c|c|c|c|c|c|e|e|e|e|e|e|e|e|e|e|
> 0x40:|e|e|f|f|f|f|f|f|f|f|f|f|f|f|f|f|
> 0x50:|f|f|f|f|f|f|f|f|g|g|g|g|g|g|g|g|
> 0x60:|g|g|g|g|g|g|i|i|i|i|i|i|i|i|i|i|
> 0x70:|j|j|j|k|k|k|k|k|k|k|k|k|k|k|k|I|
> 0x80:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0x90:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0xa0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0xb0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0xc0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0xd0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0xe0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0xf0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0-3:Reg Banks, T:Bit regs, a-z:Data, B:Bits, Q:Overlay, I:iData,
> S:Stack, A:Absolute
> 
> ERROR: Couldn't get 19 bytes allocated in internal RAM for area DSEG.
> 16 bit mode initial stack starts at: 0x80 (sp set to 0x7f) with 128
> bytes available.
> 
> Other memory:
>    Name             Start    End      Size     Max     
>    ---------------- -------- -------- -------- --------
>    PAGED EXT. RAM                         0      256   
>    EXTERNAL RAM     0x7000   0x7548    1353     2751   
>    ROM/EPROM/FLASH  0x4000   0x1ac66  43361    16777216
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
> -Strategies to boost innovation and cut costs with open source participation
> -Receive a $600 discount off the registration fee with the source code: SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________
> Sdcc-user mailing list
> Sdcc-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sdcc-user
> 



------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to