SDCC framework - FAQ
Created by: valen, Last modification: Wed 01 of Dec, 2010 (13:44 UTC)
Q. Can SDCC to address all 512KB of system memory ?
A. SDCC can address only 64K of memory. SDCC have not support for memory paging. (at least for z80 branch)
Because we code for FLOS, start address of executable is 5000.
So, the area 5000-FFFF (about 44 KB) can be used by SDCC for
code/data/stack.
But, some memory also allocated for "asm proxy" code.
Thus, the real area for user program is 5A80-FFFF. (about 41,3 KB for code/data/satck)
For example:
And you can't write:
A. SDCC can address only 64K of memory. SDCC have not support for memory paging. (at least for z80 branch)
Because we code for FLOS, start address of executable is 5000.
So, the area 5000-FFFF (about 44 KB) can be used by SDCC for
code/data/stack.
But, some memory also allocated for "asm proxy" code.
Thus, the real area for user program is 5A80-FFFF. (about 41,3 KB for code/data/satck)
For example:
char buffer[41*1024];will consume all memory for data (and thus, there are will be no space for code/stack)
And you can't write:
unsigned char Test[256][256]; // global buf 64KBbecause there are only about 41KB of memory space available.