关于PIC18F25k50中的内存

时间:2013-11-29 01:59:23

标签: c out-of-memory pic

我遇到'section'.udata_xxx.o'无法适应该部分'错误,在搜索网络(http://www.xargs.com/pic/c18large.html)后,我们实际上可以通过配置链接器文件来创建大于256字节的对象:

DATABANK   NAME=gpr1       START=0x100             END=0x1FF
DATABANK   NAME=gpr2       START=0x200             END=0x2FF
DATABANK   NAME=gpr3       START=0x300             END=0x3FF
DATABANK   NAME=gpr4       START=0x400             END=0x4FF
DATABANK   NAME=gpr5       START=0x500             END=0x5FF
These 256-byte regions need to be combined into larger regions to fit the new sections:
DATABANK  NAME=large_udata  START=0x100  END=0x389  PROTECTED
DATABANK  NAME=large_idata  START=0x38A  END=0x519  PROTECTED
DATABANK  NAME=gpr5         START=0x51A  END=0x5FF 

如果我没有提出PROTECTED这个词,它可以编译。但每当我把“保护”这个词放进去时,就会再次出现“无法适应的错误”。这是否意味着我的固件确实没有内存?

1 个答案:

答案 0 :(得分:0)

不,这是保留的内存! 再次阅读你的链接!

PROTECTED关键字告诉链接器不要将任何内容放在自己的大区域中;只有那些已明确放入相关部分且源代码为#pragmas的对象才能放在那里。