ICC错误集锦,看懂ICC AVR的报错
!E D:\桌面\实验教程\LED应用\霓虹灯\main.c(56): syntax error; found `{' expecting `;'
!E D:\桌面\实验教程\LED应用\霓虹灯\main.c(57): syntax error; found `end of input' expecting `}'
C:\icc\bin\imakew.exe: Error code 1
C:\icc\bin\imakew.exe: 'main.o' removed.
Done: there are error(s). Exit code: 1
[Copy to clipboard]
七:变量没有定义
CODE:
C:\icc\bin\imakew -f main.mak
iccavr -c -IC:\icc\include\ -e -DATMEGA -DATMega16 -l -g -Mavr_enhanced D:\桌面\实验教程\LED应用\霓虹灯\main.c
!E D:\桌面\实验教程\LED应用\霓虹灯\main.c(48): undeclared identifier `i'
C:\icc\bin\imakew.exe: Error code 1
C:\icc\bin\imakew.exe: 'main.o' removed.
Done: there are error(s). Exit code: 1
[Copy to clipboard]
解决办法:在程序开始前添加变量定义,比如unsigned char i;注意,定义变量要在函数的最前面进行,及在进行计算操作之前定义所有变量。
欢迎你发布你遇到的错误和解决方法,或者你遇到的错误还没解决的。
八、在编译时总是不能生成COF文件,不能进行调试
解决办法:在ICCAVR编译环境中,进入Project -> Option -> Compiler中在Output format区选COFF/HEX格式
九、请指点一下:
我的程序出现下列错误提示,是不是我什么地方设置错了呀。
CODE:
D:\icc\bin\imakew -f tex.mak
-lstudio -lfpavr
want size 346
lo 3910 hi 4096 size 187
!E (37): area 'text' not large enough
D:\icc\bin\imakew.exe: Error code 1
Done: there are error(s). Exit code: 1
一点错误那行的时候就出来一个提示框,但没有移到某一行上去。。。。
ans1:还没有确切的解释,可能原因:应该是定义的数组过大,减小数组的数量应该可以了
ans2:这是超过编译空间了,你可以到压缩下代码,project>options>compiler,选择Enable code compression或者只有优化代码了
十:无意中又发现一个:
too many arguments to `delay_1ms'
问题原因,函数的参数太多,比如上面一个定义的是delay_1ms(void),我确用了delay_1ms(1);改为delay_1ms();就好了。
十一、!ERROR can't open file '\lib\iccavr\libsliccatmega-m.a'
刚才问了一下人,新建一个工程,然后把所有的C文件都导入里面,就没有的问题了,剩下一些语法错误。
十二、ICC7 的代码大小限制的问题,DEMO版超过4K不能编译。
D:\PROGRA~1\iccv7avr\bin\imakew -f mytest.mak
D:\PROGRA~1\iccv7avr\bin\imakew.exe: Couldn't open mytest GetLastError() = 5
Done: there are error(s). Exit code: 1
(斑竹,我后来发现这好像是因为ICC编译生成的某些文件有错误,把ICC生成的文件都删掉,重新建立一个project,重新选择Target,重新编译就好了)
十三、
CODE:
iccavr -o main -LD:\avr\icc\lib\ -g -ucrtatmega.o -bfunc_lit:0x8c.0x10000 -dram_end:0x10ff -bdata:0x100.0x10ff -dhwstk_size:16 -beeprom:1.2048 -fihx_coff -S2 @main.lk D:\PROTEU~1.7\PROTEU~1.7\JOHU\mcu\all\CH375HFB.A -lcatmega
Device 45% full.
warning: COFF no struct tag '_CMD_PARAM' found for symbol index 1362
Done.
一个警告,搞不太清楚,以前starnewtech说过,好像是ram不够用了。
十四、重复定义 ,请在包含的头文件里面用这种格式。
#ifndef __config_H__
#define __config_H__ 1
//你的定义放这里。
#endif
- 双口RAM在DSP与ICCD通信系统中的应用(02-09)
- PICCl8编译器命令行驱动及其应用(02-11)
- 在DSP与ICCD通信系统中双口RAM的应用(03-06)
- PIC CCP_PWM 呼吸灯(11-21)
- 嵌入式学习笔记19——AVR单片机之C51向ICCAVR的移植(11-19)
- PICC编程的位操作示例程序(11-18)