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编译的 展开
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编译的 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询