Keil 报错 ERROR L107: ADDRESS SPACE OVERFLOW

解决思路一:
1、单片机自身的RAM不够,但程序使用的变量太多,注意全局变量和局部变量的合理使用,删除一些没有必要的变量就可以了;
2、Keil没有注册,只能编译2k大小的程序。
解决思路二:
本错误,经翻译可知是内存溢出,因此,我们可以通过改变Keil的编译模式,改为Large模式就可以编译成功。
知识扩述:small模式下未指存储类型的变量默认为data型,即直接寻址,只能访问低128字节,但是这128字节也不是全为我们的程序所有,寄存器R0-R7必须映射到低RAM,要占去8个字节,如果使用寄存器切换,占用的字节更多。所以可以使用的data区最大为120字节,超出120字节,就必须使用idata型,即间接寻址,另外堆栈至少要占用一个字节,所以,我们最多只能使用127个字节。
