共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 跳转至页
回复
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |