| ??? 05/16/03 22:50 Read: times |
#45713 - Keil memory problem |
I have run into a small problem with the Keil C compiler.
I need a largish buffer (around 100 bytes), so there is not enough space in the lower 128 bytes. So I though I could declare it as idata like this: idata unsigned char buf[80]; And I can compile it, but the linker complains:
*** ERROR 107: ADDRESS SPACE OVERFLOW
SPACE: IDATA
SEGMENT: ?ID?LCDTERM2
LENGTH: 0050H
It looks like the linker "thinks" I'm using a 8051. How do I tell the linker that there's 256 bytes available not 128? If I decrease the size of the buffer to 40 bytes, I get no complaints since everything fits in the lower 128 bytes. This is the memory map I get then: * * * * * * * D A T A M E M O R Y * * * * * * * REG 0000H 0008H ABSOLUTE "REG BANK 0" DATA 0008H 0006H UNIT ?DT?LCDTERM2 DATA 000EH 0044H UNIT _DATA_GROUP_ IDATA 0052H 0028H UNIT ?ID?LCDTERM2 IDATA 007AH 0001H UNIT ?STACK I haven't found anything in the manual of the knowledgebase (I may not have looked properly though...). Best regards, Mikkel C. Simonsen |
| Topic | Author | Date |
| Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 | |
| RE: Keil memory problem | 01/01/70 00:00 |



