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