如何修复数据存储器段的“unable to fit section”(不能分配...
如何修复数据存储器段的“unable to fit section”(不能分配到段)错误?MPLAB C18 提供了两种不同的数据存储器段类型:
udata——包含静态分配的未初始化用户变量
idata——包含静态分配的已初始化用户变量
在MPLAB C18 中每种段类型都有默认的段(如.udata_foobar.o)。
例如,给出以下位于foobar.c 中的源代码:
unsigned char foo;
int bar;
void main (void)
{
while (1)
;
}
该代码会导致下列错误: Error - section ‘.udata_foobar.o’ can not fit the section.
Section ‘.udata_foobar.o’ length = 0x00000101.
有两种方法可解决这个错误:
1. 将foobar.c 分成多个文件:
foo.c
unsigned char foo;
void main (void)
{
while (1)
;
}
bar.c
int bar;
2. 使用#pragma udata 伪指令创建一个独立的段,包含foo 和bar 变量:
foobar.c
#pragma udata foo
unsigned char foo;
#pragma udata bar
int bar;
void main (void)
{
while (1)
;
}
页:
[1]