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.
Hi, While compiling my program I've faced with this warning:
linking... *** WARNING L5: SECTION LOCATED OUTSIDE CLASS AREA SECTION: ?SD0?MAINTASK CLASS: SDATA0 Program Size: data=96233(near=12643) const=17312(near=174) code=344442
I solved this warning by expanding the SDATA section (as highlighted below). But this way after downloading the program in device, it doesn't work, and the code sticks somewhere.
I have two external memory as follows:
ROM -> Start: 0x10000 Size:0x100000 RAM -> Start: 0x110000 Size:0x80000
Default memory layout is:
ICODE (0x10000-0x10FFFF), FCODE (0x10000-0x10FFFF), FCONST (0x10000-0x10FFFF), HCONST (0x10000-0x10FFFF), XCONST (0x10000-0x10FFFF), NCONST (0x10000-0x13FFF), NDATA (0x110000-0x113FFF), NDATA0 (0x110000-0x113FFF), SDATA (0xE000-0xE7FF, 0xF600-0xFDFF), SDATA0 (0xE000-0xE7FF, 0xF600-0xFDFF), IDATA (0xF600-0xFDFF), IDATA0 (0xF600-0xFDFF), FDATA (0x110000-0x18FFFF), FDATA0 (0x110000-0x18FFFF), HDATA (0x110000-0x18FFFF), HDATA0 (0x110000-0x18FFFF), XDATA (0x110000-0x18FFFF), XDATA0 (0x110000-0x18FFFF)
and I changed it to this
ICODE (0x10000-0x10FFFF), FCODE (0x10000-0x10FFFF), FCONST (0x10000-0x10FFFF), HCONST (0x10000-0x10FFFF), XCONST (0x10000-0x10FFFF), NCONST (0x10000-0x13FFF), NDATA (0x110000-0x113FFF), NDATA0 (0x110000-0x113FFF), SDATA (0xE000-0xEAFF, 0xF600-0xFDFF), SDATA0 (0xE000-0xEAFF, 0xF600-0xFDFF), IDATA (0xF600-0xFDFF), IDATA0 (0xF600-0xFDFF), FDATA (0x110000-0x18FFFF), FDATA0 (0x110000-0x18FFFF), HDATA (0x110000-0x18FFFF), HDATA0 (0x110000-0x18FFFF), XDATA (0x110000-0x18FFFF), XDATA0 (0x110000-0x18FFFF)
It seems that I can't change the memory layout like this. What should I do to resolve this problem. Or actually how should I change the memory layout?
Note that When I delete some of the variables, with default memory layout, the program works fine.
Thanks