使用C30编译器无法在PIC24FJ256GB206中复制阵列

时间:2018-07-30 11:07:45

标签: c arrays memory out-of-memory mplab

我正在尝试使用PIC24将数组复制到PIC24FJ256GB206 microcontroller C30 compiler中的另一个数组中。我的数组长度超过1500 bytes. 这是我的代码:-

int i=0;
int count = sizeof(rx.data.buff.fields.data);
for(i=0;i<count;i++)
{
    rec.data.data_block.data[i] = rx.data.buff.fields.data[i];
}

但是当我编译代码时,出现此错误:-

build/SINGLE_PORT_BAUD57600/production/_ext/733800733/rdso_icd_0065.o(.text+0x1604)c:\program files (x86)\microchip\mplab c30\bin\bin\..\bin/pic30-elf-ld.exe: Dwarf Error: found address size '3', this reader can only handle address sizes '2', '4' and '8'.
: In function `.LM403':
: undefined reference to `_rec'
make[2]: *** [dist/SINGLE_PORT_BAUD57600/production/StandaloneHCD.X.production.hex] Error 255
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

显然,这不是逻辑问题。但是,这可能是什么原因?解决方案是什么?谢谢

1 个答案:

答案 0 :(得分:0)

如果数据量超过8 KB,则必须将数据模型切换为大数据:

ProjectProperties / Conf: / Memory model / Data model = Large