打印

908QG8 RAM出现在超过0X100错误的问题

[复制链接]
3330|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FENG89|  楼主 | 2007-12-5 13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我定义以下数据:

#pragma DATA_SEG SHORT MY_ZEROPAGE                        //direct addressing data segment
unsigned char  mflag;
unsigned char  strack_f;
unsigned char Tn,Tm;                                               //重要的元件编号变量.
unsigned char  cmd1,cmd2,cmd3,cmd4,cmd5,cmd6,cmd7,cmd8,cmd9,cmd10;
XT[1],YT[1],MT[30],TT[8],CT[8];
#pragma DATA_SEG DEFAULT

unsigned int D[100] ;

程序中,我总共定义了276变量,INT的我算两个了,908QG8有512啊,没有超出的呀,到底是哪里不对?我选用了SMALL模式的

相关帖子

沙发
ayb_ice| | 2007-12-5 13:39 | 只看该作者

我没有看到哪里不对啊

使用特权

评论回复
板凳
FENG89|  楼主 | 2007-12-5 13:43 | 只看该作者

908QG8 RAM出现在超过0X100错误的问题

D[100]没法定义到0X0100以上的空间
Link Error   : L1102: Out of allocation space in segment RAM at address 0x100


Link Error   : Link failed



还有,怎么看到我的程序用了多少代码空间呢?

使用特权

评论回复
地板
wacke| | 2007-12-5 15:30 | 只看该作者

是超出零页的范围

是你在
#pragma DATA_SEG SHORT MY_ZEROPAGE                        //direct 
#pragma DATA_SEG DEFAULT
之间的变量超了.你移一部分到外面就可以了.

使用特权

评论回复
5
ayb_ice| | 2007-12-5 15:45 | 只看该作者

先去掉#pragma DATA_SEG SHORT MY_ZEROPAGE试一下就知道了

使用特权

评论回复
6
feng89| | 2007-12-5 15:54 | 只看该作者

908QG8 RAM出现在超过0X100错误的问题

谢谢楼上,全试了,不知是哪出错了,.PRM文件里也指定了0X100-0X25F了

使用特权

评论回复
7
wacke| | 2007-12-5 16:18 | 只看该作者

缩小一个数组的大小.先编译通过,再看一个MAP文件就可以知道

缩小一个数组的大小.先编译通过,再看一个MAP文件就可以知道了.

使用特权

评论回复
8
feng89| | 2007-12-5 18:44 | 只看该作者

908QG8 RAM出现在超过0X100错误的问题

通过了,是因为前面定义有一个CONST 的表格,定义不对

谢谢大家!

使用特权

评论回复
9
quguoli81| | 2007-12-6 14:19 | 只看该作者

我晕

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

161

帖子

1

粉丝