使用一个M162外扩了两片32K的RAM,编译器为ICC AVR,我想定义一个60K的数组unsigned chardata[60000];但是编译器时出错,说我定义的是一个违法不当的数组,错误提示如下: iccavr -c -IC:\icc\include\ -e -DATMEGA -DATMega162 -l -g -Mavr_enhanced E:\work\ov529+M162\CompatibleOv528\M162.C !E E:\work\ov529+M162\CompatibleOv528/uart0.h(38): `-5536' is an illegal array size C:\icc\bin\imakew.exe: Error code 1 C:\icc\bin\imakew.exe: 'M162.o' removed. Done: there are error(s). Exit code: 1
但是我分别定义两个30K的数组却能够编译通过,unsigned char data0[30000],data1[30000];另外编译软件属性中已经设置为External 64K SRAM w/wait state.请大伙指点下。 |