avr的编译问题

问题:我用的是avr的MEGA128,编辑后出现以下提示,请教是什么意思Error[e16]:SegmentNEAR_Z(size:0x91dalign:0)istool... 问题:我用的是avr的MEGA128,编辑后出现以下提示,请教是什么意思

Error[e16]: Segment NEAR_Z (size: 0x91d align: 0) is too long for segment definition. At least 0xeb more bytes needed. The problem occurred while processing the segment placement command "-Z(DATA)NEAR_I,NEAR_Z=_..X_SRAM_BASE-_..X_SRAM_END,_..X_EXT_SRAM_BASE-_..X_EXT_SRAM_END", where at the moment of placement the available memory ranges were "8bc-10ff"

我程序中有
DispStr(" ",20);

void DispStr( unsigned char* str, unsigned char sit )
{//把传送来字符串显示在指定位置上
unsigned char chr;

if( sit >= 40 )
sit = 0; //显示位置出错,设为0
while( ( chr = *str++ ) != '\0' )
{
DispByte( chr, sit );
sit++;
}
}

当我把DispStr(" ",20);
改为
for( i=20; i<40; i++ )
DispStr("*",i);
编译提示中的At least 0xeb more bytes needed.
就变成At least 0xd9 more bytes needed.
我用的是ew23编译的
展开
 我来答
百度网友a3795a7
2011-08-29 · TA获得超过513个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:187万
展开全部
感觉是你的指针映射地址溢出,
如果想显示空格可以这样用
unsigned char a[20]=" ";
DispStr(a,20);
djl310
2011-08-29 · TA获得超过227个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:191万
展开全部
alone6230回答正确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式