初学avr,使用win7+winavr的环境,不过常年写java代码,实在是不习惯winavr的编译器,后来找到了eclipse的插件,很好用,但是编译有问题。Build的时候会出现这个问题:Problems occurred building the selected resources. Errors running builder 'CDT Builder' on project 'GCC-4'. java.lang.NullPointerException java.lang.NullPointerException控制台打印:
**** Clean-only build of configuration Release for project GCC-4 ****
make clean rm -rf ./key_scan.o ./led.o ./main.o ./key_scan.d ./led.d ./main.d GCC-4.eep GCC-4.hex GCC-4.lss sizedummy GCC-4.elf
**** Build of configuration Release for project GCC-4 ****
make all Building file: ../key_scan.cInvoking: AVR CompilerIn file included from ../key_scan.c:3:../led.h:8:20: warning: no newline at end of file../key_scan.c: In function `key_scan':../key_scan.c:6: warning: unused variable `m'/usr/bin/sh: /d/WinAVR/bin/avr-objdump: Invalid argumentmake: [GCC-4.lss] Error 126 (ignored)/usr/bin/sh: /d/WinAVR/bin/avr-objcopy: Invalid argumentmake: [GCC-4.hex] Error 126 (ignored)/usr/bin/sh: /d/WinAVR/bin/avr-objcopy: Invalid argumentmake: [GCC-4.eep] Error 126 (ignored)
换到winavr的环境下编译,能生产hex文件,但是还是出错的。> "make.exe" all
-------- begin --------avr-gcc (GCC) 3.4.3Copyright (C) 2004 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling: main.cavr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=3686400UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.lst -std=gnu99 -MD -MP -MF .dep/main.o.d main.c -o main.o main.c:14: warning: function declaration isn't a prototype
Compiling: led.cavr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=3686400UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=led.lst -std=gnu99 -MD -MP -MF .dep/led.o.d led.c -o led.o
Compiling: key_scan.cavr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=3686400UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=key_scan.lst -std=gnu99 -MD -MP -MF .dep/key_scan.o.d key_scan.c -o key_scan.o In file included from key_scan.c:3:led.h:8:20: warning: no newline at end of filekey_scan.c: In function `key_scan':key_scan.c:6: warning: unused variable `m'
Linking: main.elfavr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=3686400UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o -std=gnu99 -MD -MP -MF .dep/main.elf.d main.o led.o key_scan.o --output main.elf -Wl,-Map=main.map,--cref -lm
Creating load file for Flash: main.hexavr-objcopy -O ihex -R .eeprom main.elf main.hex
Creating load file for EEPROM: main.eepavr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 -O ihex main.elf main.eep
Creating Extended Listing: main.lssavr-objdump -h -S main.elf > main.lss
Creating Symbol Table: main.symavr-nm -n main.elf > main.sym
/usr/bin/sh: /d/WinAVR/bin/avr-nm: Invalid argumentmake.exe: *** [main.sym] Error 126> Process Exit Code: 2hex文件在protues中能正常运行。不知道啥问题。望高人指点一二。
此帖出自
小平头技术问答
一周热门 更多>