This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

L107 Error for functions

Hi!

I have rather a program running on a ADuc 824 (256Bytes DATA RAM?). When I link I get the following errors:

ERROR L107: ADDRESS SPACE OVERFLOW
SPACe: DATA
SEGMENT: ?DT?FNCAPTUREDATA?PTSC_UH
LENGTH: 000005H

ERROR L107: ADDRESS SPACE OVERFLOW
SPACe: DATA
SEGMENT: ?DT?FNFLASHREAD?PTSC_UH
LENGTH: 000004H

ERROR L107: ADDRESS SPACE OVERFLOW
SPACe: DATA
SEGMENT: ?DT?FNDELAY?PTSC_UH
LENGTH: 000004H


All the segments are Functions.

The memory map gives:

data =151.0 xdata =49152 const=0 code=3403

If I reduce data to 117 by removing some variables I do not get this error.

How do I use these functions AND keep my variables?

All the best

Andrew

Parents
  • Although you have 256 bytes of onboard RAM only 128 bytes minus at least one register bank can be used for variables declared as 'data' (the default for the small memory model). You can declare some variables as 'idata' to use some of the upper 128 byte block but be aware that you will be reducing the space available for the stack.

    You could declare some (more) of your variables in xdata. Also, check the map file to see whether there is a gap anywhere in the data range 0x08 to 0x1f. If so you can force some variables into this range with the _at_ keyword.

Reply
  • Although you have 256 bytes of onboard RAM only 128 bytes minus at least one register bank can be used for variables declared as 'data' (the default for the small memory model). You can declare some variables as 'idata' to use some of the upper 128 byte block but be aware that you will be reducing the space available for the stack.

    You could declare some (more) of your variables in xdata. Also, check the map file to see whether there is a gap anywhere in the data range 0x08 to 0x1f. If so you can force some variables into this range with the _at_ keyword.

Children
No data