共2条
1/1 1 跳转至页
keil,c51 keil c51编译的奇怪问题:
问
我的程序中用到xdata变量,编译的时候选large model没问题(显示结果:Program Size: data=15.5 xdata=264 code=13342 因为xdata>256),所以选择small model,但编译通不过,结果提示:
linking...
*** ERROR L114: SEGMENT DOES NOT FIT
SPACE: DATA
SEGMENT: _DATA_GROUP_
BASE: 0000H
LENGTH: 008AH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?DGTPARSER
LENGTH: 0030H
应该是ram的存储空间大小的问题,超过256 bytes on-chip ram空间,不过我有将一些变量声明在xdata里面.声明形式:
extern xdata WORD g_wSetRF;extern xdata WORD xdata g_waPreset[];等.变量声明好象没有作用,编译完结果显示
Program Size: data=274.5 xdata=0 code=10296,其中data=274.5;xdata=0.
这是怎么回事?声明变量在xdata时声明形式有问题?
我用的是winbond78e516b的片子,64kflash,512byte ram. 答 1: 去掉 extern 就没有问题了 答 2: 谢谢!!不过编译后怎么data没有减少?只是xdata增加了.另:xdata类型的局部变量和全局声明形式是一样的?
Program Size: data=274.5 xdata=88 code=10292
linking...
*** ERROR L114: SEGMENT DOES NOT FIT
SPACE: DATA
SEGMENT: _DATA_GROUP_
BASE: 0000H
LENGTH: 008AH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?DGTPARSER
LENGTH: 0030H
应该是ram的存储空间大小的问题,超过256 bytes on-chip ram空间,不过我有将一些变量声明在xdata里面.声明形式:
extern xdata WORD g_wSetRF;extern xdata WORD xdata g_waPreset[];等.变量声明好象没有作用,编译完结果显示
Program Size: data=274.5 xdata=0 code=10296,其中data=274.5;xdata=0.
这是怎么回事?声明变量在xdata时声明形式有问题?
我用的是winbond78e516b的片子,64kflash,512byte ram. 答 1: 去掉 extern 就没有问题了 答 2: 谢谢!!不过编译后怎么data没有减少?只是xdata增加了.另:xdata类型的局部变量和全局声明形式是一样的?
Program Size: data=274.5 xdata=88 code=10292
共2条
1/1 1 跳转至页
我要赚赏金
