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

Why my KEIL C51 Project stack can not move up?

My project code area now is almost the chip size, so I want to move some global variable from Xdata to data to free some code area. But after I change some variable, the C51 compiler compalins the DATA overflow. I checked the .M51 file, the stack bottom is 0x8A, the chip idata ram is 256, so why the compiler can not automatically change some stack area to data area? Since I think the 0x8A stack is far from 0xFF. I just change one unsigned char variable.