Wrandy
25.11.2009, 21:22
Hallo,
Ich habe ein Problem:
Irgendwie bekomm ich immer eine merkwürdige Fehlermeldung, sobald ich die Chirpfunktion benutzen will. Ich habe Windows XP, AVR Lib 2.80, Programmers Notepad 2. Pfad in makefile wurde geändert. Die Dateien hab ich auch in den default Ordner kopiert/ersetzt und in den Options make new lib erstellt und dieses mit make-all verbunden.
Wenn ich nun ein Programm kompiliere, indem nur "Standardfunktionen" aus der asuro.h verwendet werden gibt es keine Fehlermeldung, sobald ich die chirp Funktion verwenden möchte, erhalte ich folgende Fehlermeldung:
C:\Asuro\ASURO_src\FirstTry>make clean
set -e; avr-gcc -MM -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
rm -f test.hex
rm -f test.eep
rm -f test.obj
rm -f test.cof
rm -f test.elf
rm -f test.map
rm -f test.obj
rm -f test.a90
rm -f test.sym
rm -f test.lnk
rm -f test.lss
rm -f test.o asuro.o
rm -f test.lst asuro.lst
rm -f test.s asuro.s
rm -f test.d asuro.d
Errors: none
-------- end --------
C:\Asuro\ASURO_src\FirstTry>make MCU=atmega8 LIBFILE=asuro
set -e; avr-gcc -MM -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
set -e; avr-gcc -MM -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
avr-gcc -c -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
test.c: In function `main':
test.c:17: warning: implicit declaration of function `SerPrint'
test.c:25: warning: implicit declaration of function `PrintInt'
avr-gcc -c -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
avr-gcc -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -LC:/Asuro/lib -lm -lasuro
C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\bin\ld.exe: BFD 2.14 20030612 + coff-avr-patch (20030831) internal error, aborting at ../../bfd/reloc.c line 444 in bfd_get_reloc_size
C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\bin\ld.exe: Please report this bug.
make: *** [test.elf] Error 1
C:\Asuro\ASURO_src\FirstTry>pause
Press any key to continue . . .
Und ich kann damit überhaupt nix anfangen. Mein Quellcode ist einfach nur ein Testcode für den Ultraschallsensor:
/************************************************** *************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* any later version. *
************************************************** *************************/
#include "asuro.h"
#include "ultrasonic.h"
int abstand=0;
int main(void)
{
Init();
SerPrint("\r\n --- ultrasonic test ---");
do
{
abstand = Chirp();
SerPrint("\r\n distanz in cm: ");
PrintInt(abstand);
}
while(1);
return 0;
}
Das Programm geht, weil auch die hex datei dieses Programms mit dabei war...
Ich hoffe sehr, dass ihr mir helfen könnt....
Ich habe ein Problem:
Irgendwie bekomm ich immer eine merkwürdige Fehlermeldung, sobald ich die Chirpfunktion benutzen will. Ich habe Windows XP, AVR Lib 2.80, Programmers Notepad 2. Pfad in makefile wurde geändert. Die Dateien hab ich auch in den default Ordner kopiert/ersetzt und in den Options make new lib erstellt und dieses mit make-all verbunden.
Wenn ich nun ein Programm kompiliere, indem nur "Standardfunktionen" aus der asuro.h verwendet werden gibt es keine Fehlermeldung, sobald ich die chirp Funktion verwenden möchte, erhalte ich folgende Fehlermeldung:
C:\Asuro\ASURO_src\FirstTry>make clean
set -e; avr-gcc -MM -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
rm -f test.hex
rm -f test.eep
rm -f test.obj
rm -f test.cof
rm -f test.elf
rm -f test.map
rm -f test.obj
rm -f test.a90
rm -f test.sym
rm -f test.lnk
rm -f test.lss
rm -f test.o asuro.o
rm -f test.lst asuro.lst
rm -f test.s asuro.s
rm -f test.d asuro.d
Errors: none
-------- end --------
C:\Asuro\ASURO_src\FirstTry>make MCU=atmega8 LIBFILE=asuro
set -e; avr-gcc -MM -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
set -e; avr-gcc -MM -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
avr-gcc -c -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
test.c: In function `main':
test.c:17: warning: implicit declaration of function `SerPrint'
test.c:25: warning: implicit declaration of function `PrintInt'
avr-gcc -c -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
avr-gcc -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -IC:/Asuro/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -LC:/Asuro/lib -lm -lasuro
C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\bin\ld.exe: BFD 2.14 20030612 + coff-avr-patch (20030831) internal error, aborting at ../../bfd/reloc.c line 444 in bfd_get_reloc_size
C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\bin\ld.exe: Please report this bug.
make: *** [test.elf] Error 1
C:\Asuro\ASURO_src\FirstTry>pause
Press any key to continue . . .
Und ich kann damit überhaupt nix anfangen. Mein Quellcode ist einfach nur ein Testcode für den Ultraschallsensor:
/************************************************** *************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* any later version. *
************************************************** *************************/
#include "asuro.h"
#include "ultrasonic.h"
int abstand=0;
int main(void)
{
Init();
SerPrint("\r\n --- ultrasonic test ---");
do
{
abstand = Chirp();
SerPrint("\r\n distanz in cm: ");
PrintInt(abstand);
}
while(1);
return 0;
}
Das Programm geht, weil auch die hex datei dieses Programms mit dabei war...
Ich hoffe sehr, dass ihr mir helfen könnt....