We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
C51 returns the following error:
*** ERROR C249: 'DATA': SEGMENT TOO LARGE
Rather than switching to the COMPACT or LARGE memory model I would like to manually declare some variables into xdata. I would however like to know what the compiler is actually putting in the data segment and what is taking up the most space. Is there some way I can get this information in the absence of the .MAP file?
Thanks,
Stijn
Figure out how large your DATA segment actually is, and then review the source for the obviously large data structures, and what should be "static const" if you aren't actually changing any of it's content.
Make the DATA segment temporarily bigger so the linker completes and provides a .MAP, see if the linker has any command line options to provide verbose, or pass related output.
I would like to manually declare some variables into xdata. you should also consider IDATA. anyhow, generally, structures and arrays go in XDATA, pointers to them in data
Make the DATA segment temporarily bigger is that even possible (architecture defined) if so how?