 | Discussion Forum |  |
|
|
ERROR L107: ADDRESS SPACE OVERFLOWNext Thread | Thread List | Previous Thread Start a Thread | Settings | Details | Message |
|---|
Read-Only Author andy horst Posted 2-May-2001 10:32 GMT Toolset C51 |  ERROR L107: ADDRESS SPACE OVERFLOW andy horst Hallo, I have written in my experimental(!) code a global variable :
int idata arr[60];
The stack is explicitly assigned to internal memory space (memory type : idata - 256 byte maximum). But I got in the *.m51-File an error message.
IGNORED SEGMENTS: ?STACK
*** ERROR L123: ABSOLUTE DATA/IDATA SEGMENT DOES NOT FIT MODULE: TIMER01.OBJ (TIMER01) FROM: 0088H TO: 0089H
*** ERROR L107: ADDRESS SPACE OVERFLOW BL51 BANKED LINKER/LOCATER V4.02 05/02/2001 11:10:58 PAGE 2
SPACE: IDATA SEGMENT: ?STACK LENGTH: 0001H
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: IDATA SEGMENT: ?STACK LENGTH: 0001H
*** ERROR L119: REFERENCE MADE TO ERRONEOUS SEGMENT SEGMENT: ?C_C51STARTUP MODULE: C:\MYFILES\LIB\C51S.LIB (?C_STARTUP) ADDRESS: 4042H
I don't understand why the stack can not be placed in the upper memory (0x80 to 0xFF)? The memory type of the stack is idata (0x00 - 0xFF).
If I have located a variable in the upper 128 bytes of internal RAM like this:
int idata var _at_ 0x81;
I have got also the error messages! But why?
I thought if I use the memory type idata, then I can use all the lower and the upper internal RAM.
Best Regards.
| | Read-Only Author James Wilkinson Posted 3-May-2001 12:10 GMT Toolset C51 |  RE: ERROR L107: ADDRESS SPACE OVERFLOW James Wilkinson I think you'll find the problem is in the timer01 file ( Always go by the first error you find... ) it will probably be that you have already exceeded your data segment within that file. Fix this and the rest as you say should work. | |
Next Thread | Thread List | Previous Thread Start a Thread | Settings |
|