这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » keil,c51 keil c51编译的奇怪问题:

共2条 1/1 1 跳转至

keil,c51 keil c51编译的奇怪问题:

院士
2006-09-17 18:14:16     打赏
keil,c51 keil c51编译的奇怪问题:



关键词: 编译     奇怪     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 我的程序中用到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

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]