Hallo
Die Lib wird ja gefunden, die dateien RP6Config.h und RP6uart.h werden nicht gefunden. Diese sollten normalerweise im Ordner ...\RP6Lib\RP6common sein. Schau mal, ob sie da auch wirklich sind.
lg
Michi
Hallo und einen Guten wünsch ich.
Ich hab seit 1 Woche den RP6 und möchte jetzt etwas rumbasteln.
Ich hab ein kleines Problem mit der Einbindung der RP6RobotBaseLib.h unter AVR Studio 4.
Ich Starte AVR und gehe auf New Projekt. AVR GCC -> Projekt name Test
Als Debug Plattform wähle ich AVR Dragon. Als Device Atmega32.
Quellcode ist das Beispielprogramm aus dem Manuel.
Jetzt geh ich auf Projekt -> Configuration Options -> Include Directories
Dort gebe ich zu erst den Hauptordner an C:\RP6Examples_20080915
Dann den Ordner der Lib C:\RP6Examples_20080915\RP6Lib\RP6base
Nun F7 drücken und der Fehler ist da.
Build started 25.2.2010 at 10:47:23
avr-gcc.exe -I"C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\test\..\..\..\..\RP6Examples_20080915" -I"C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\test\..\..\..\..\RP6Examples_20080915\RP6L ib\RP6base" -mmcu=atmega32 -Wall -gd
warf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT test.o -MF dep/test.o.d -c ../test.c
In file included from ../test.c:1:
C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\test\..\..\..\..\RP6Examples_20080915\RP6L ib\RP6base/RP6RobotBaseLib.h:31:81: error: RP6Config.h: No such file or directory
C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\test\..\..\..\..\RP6Examples_20080915\RP6L ib\RP6base/RP6RobotBaseLib.h:33:47: error: RP6uart.h: No such file or directory
../test.c: In function 'main':
../test.c:6: warning: implicit declaration of function 'writeString'
make: *** [test.o] Error 1
Build failed with 2 errors and 1 warnings...
Kann mir bitte einer Schreiben wo der Hacken ist.
Thx
Hallo
Die Lib wird ja gefunden, die dateien RP6Config.h und RP6uart.h werden nicht gefunden. Diese sollten normalerweise im Ordner ...\RP6Lib\RP6common sein. Schau mal, ob sie da auch wirklich sind.
lg
Michi
Oh ja das war der Fehler.
Hab jetzt den Ordner RP6common mit Includiert. Jetzt geht es.
Big THX
Kleines Update
Mein Quellcode:
#include "RP6RobotBaseLib.h"
int main (void)
{
initRobotBase();
writeString("Hello\n");
return 0;
}
Mein neuer Fehler:
C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\test\default/../test.c:5: undefined reference to `initRobotBase'
C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\test\default/../test.c:6: undefined reference to `writeString'
Habe bis jetzt unter AVR Studio 4 mit Atmega 8 zu tun gehabt und da nur mit den Standart Libs avr/io.h usw.
Der Fehler heist doch das er die Befehle aus der RobotBaseLib nicht einbindet. bzw nicht kennt.
Jemand eine Lösung?
Hallo
Die Funktionen initRobotBase() und writeString() werden in der Datei RP6RobotBaseLib.c definiert. Wie man diese Datei im AVR-Studio einträgt kann ich leider nicht sagen weil ich es nicht verwende. Als Provisorium würde vielleicht auch ein (nicht gerne gesehenes) #include "RP6RobotBaseLib.c" funktionieren.
Wenn dein Programm so endet:
...
writeString("Hello\n");
return 0;
}
stürzt der Mega32 nach dem return ins Nirwana, weil nirgends definiert ist, wohin der Kontroller beim return springen soll! Das könnte bewirken, dass die Zeichen vom writeString() gar nicht mehr gesendet werden bevor sich der kontroller verabschiedet. Besser, weil richtig, wäre eine Endlosschleife vor dem return:
Btw. werden längere Programme in einem Code-Tag übersichtlicher dargestellt.Code:... writeString("Hello\n"); setLEDs(63); // wir haben fertig while(1); // Endlosschleife return 0; // wird nie erreicht }
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
MIC welches Programm benutzt du?
Ich hab es auch schon mit dem PN2 von WINAVR versucht.
Doch leider bekomme ich da durch druck auf Make All
diese Fehler meldung.
"make.exe" all
make.exe: *** No rule to make target `all'. Stop.
> Process Exit Code: 2
> Time Taken: 00:00
Bin halt ein Neuling und hangel mich grad durch
Hallo
Nur keine Panik. Vermutlich ist es nur ein Problem mit dem Makefile.
Grundsätzlich sollte es funktionieren, wenn du die Installationen wie in der RP6-Doku beschrieben machst. Also nochmals genau nachlesen, im schlimmsten Falle nochmals alles deinstallieren und Schritt für Schritt neu installieren. Bevor du aber aktiv wirst solltest du noch weitere Meldungen zu diesem Thema abwarten. Die meisten RP6-Besitzer verwenden ja wie du die Standartprogramme.
Als Editor verwende ich KamAVR. Das ist vielleicht nicht die beste IDE für WinAVR, erzeugt aber automatische Makefiles. Das Programm ist aber nur englischsprachig und ohne Doku verfügbar.
"C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\test\.."
Im Alltag solltest du nicht mit Adminrechten angemeldet sein!
Gruss
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Ich habe es hin bekommen.
Es lag am Makefile.
Man muss den Hacken bei "Use External Makfile" setzen.
Lesezeichen