ASlink-Error - OSEG

Hi,

I am working on 89c52 microcontroller and using SDCC compiler. I am using Poulman monitor program too. Poulman's code loading memory starts from ox2000. While building my project I am encountering an error. The error message is as follows

D:\89C52\abc~1>sdcc main.rel user.rel slave.rel -code-loc 0x2000

--xram-loc 0x6000 ?ASlink-Error-Could not get 12 consecutive bytes in internal RAM for area OSEG. ?ASlink-Error-Could not get 11 consecutive bytes in internal RAM for area OSEG.

How should I resolve this problem. If anyone know abt this please let me know. That would be of great help.

Regards, prash.

Reply to
prash
Loading thread data ...

you ( the compiler ) has finished internal ram for variable storage

you can recover some bytes in these ways :

aliasing some variables between functions shrink data buffers to minimum if possibile use qualified pointers instead of generic pointers move some variables in indirect ram ( idata keyword ) expecially data buffers that are accessed trough pointers move to some variable in external ram ( xdata keyword ) ditto

in the last two cases you have to inform the compiler ( the linker ) where these variables resides and eventually where the stack is ( past the end of indirect variables ) read carefully the docs from the compiler to understand how this can (must ) be done

Reply to
mmm

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.