Welcome! Log In Create A New Profile

Advanced

Fehler beim kompilieren

Posted by Max Bahr 
Fehler beim kompilieren
July 12, 2011 05:09AM
Nachdem ich mir jetzt die Software + Zusatzpack für Gen7 heruntergeladen habe, wollte ich kompilieren und bekam eine Fehlermeldung:
core.a(main.cpp.o): In function `main':
F:\RepRap\arduino-0022\hardware\Gen7\cores\arduino/main.cpp:7: undefined reference to `setup'
F:\RepRap\arduino-0022\hardware\Gen7\cores\arduino/main.cpp:10: undefined reference to `loop'

Egal, was ich ausgewählt habe, ich bekomme immer wieder diesen Fehler.
Ist die Version (Prepare your Arduino IDE) defekt?

Edit:
kompiliert habe ich unter Windows 7 einmal mit der 32-Bit und einmal mit 64-Bit Version von Arduino. Klappt aber beides nicht.

Edited 1 time(s). Last edit at 07/12/2011 05:10AM by Max Bahr.
Re: Fehler beim kompilieren
July 12, 2011 05:23AM
Was wolltest Du denn kompilieren? Die Fehlermeldungen deuten darauf hin, dass Du ein leeres Programm hast.

Zum üben kannst Du einfach eines der mitgelieferten Beispiele nehmen. Menü -> File -> ... Was auf einem Arduino läuft, läuft auch auf der Gen7.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Fehler beim kompilieren
July 12, 2011 05:35AM
Oh weh!
Ich dachte, dass das vollständig benötigte Programm zum ansteuern usw. schon in der Software enthalten ist.

Muss ich jetzt den Quellcode selber schreiben??? confused smiley
Re: Fehler beim kompilieren
July 12, 2011 05:53AM
Quote

Ich dachte, dass das vollständig benötigte Programm zum ansteuern usw. schon in der Software enthalten ist.

Was ist denn "die Software"? Das Gen7-Paket ist ein Paket, das es ermöglicht, Programme auf die Gen7 zu schicken. Mehr nicht. Woher sollte das Paket auch wissen, was Du mit Deinem Board anfangen willst?

Quote

Muss ich jetzt den Quellcode selber schreiben???

Natürlich!

Du kannst aber auch das nehmen, was andere schon mal geschrieben haben: [reprap.org]


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Fehler beim kompilieren
July 12, 2011 06:48AM
Ich habe als Firmware bisher sowohl die FiveD als auch die Teacup Firmware auf die Gen7 Elektronik hochgeladen bekommen. Bei der FiveD habe ich das in der Gen7 Wiki verlinkte Zip als Grundlage genommen, bei der Teacup den zu dem Zeitpunkt aktuellesten Git Master...

Dazu einfach in der Arduino IDE das passende *.pde File auswählen...

Ich konnte dabei prima den Anweisungen hier folgen...

Du musst dann noch beide Firmwares entsprechend konfigurieren (im ensprechenden Konfigurationsheader; config*.h Datei)...
Re: Fehler beim kompilieren
July 12, 2011 06:56AM
Ok macht natürlich Sinn! grinning smiley

Jetzt geht es aber weiter. Ich muss ja ehrlich sagen, das Schrauben, Bohren, Sägen war ja entspannend, aber die Elektronik bringt mich an die Grenzen.
F:\RepRap\arduino-0022\hardware\tools\avr>bin\avrdude.exe -C etc\avrdude.conf -c
 stk500v2 -p atmega644 -P COM6 -B 5 -U lfuse:w:0xF7:m -U hfuse:w:0xDC:m -U efuse
:w:0xFF:m
avrdude.exe: stk500_2_ReceiveMessage(): timeout

Und das Ergebnis ein ewig wiederkehrendes "timeout()"

Nach suchen fand ich einen Beitrag im Forum, dass die gelbe und grüne Lampe leuchten sollten. Bei mir leuchtet aber nur die gelbe Lampe. Erst wenn ich die beiden Drähte laut Anleitung kurzschliesse, dann leuchtet auch die untere rechte grüne Lampe.


Ich habe auch nochmal die Lötstellen überprüft, nicht das dort ein Kurzer sitzt. Soweit konnte ich aber nichts finden:
Großes Foto der Platine

Das timeout, so steht es in den anderen Beiträgen, soll ein Zeichen für die nicht erfolgte Verbindung darstellen.
Interessanterweise funktioniert der COM6 + COM7 über die Windows-Shell, alle anderen COM-Ports werden nicht gefunden.
Gehe ich aber mit der Arduino-Software ran, geht nur der COM18.
Re: Fehler beim kompilieren
July 12, 2011 07:06AM
Du versuchst grad einen Bootloader aufzuspielen. Wenn du den Atmega von Traumflug geliefert bekommen hast sollte das nicht nötig sein.


Wenn es ein "blanker" Atmega ist:

- Hast du einen passenden Programmer? (du versuchst grad folgenden zu verwenden: 'stk500v2' was immer das ist winking smiley )
- Stimmt der COM-Port tatsächlich? Um sicherzugehen solltest du mal einen Blick in den Windows-Gerätemanager werfen (der Knoten im Baum müsste ("Anschlüsse" oder "Ports" heißen).


Wenn es ein Atmega von Traumflug ist:

- Einfach mal über die Windows Shell eine serielle Verbindung herstellen und folgendes eingeben (Die Eingabe selbst wirst du im Terminal vermutlich nicht sehen, einfach blind tippen und mit Enter bestätigen):
M114
Du solltest dann die aktuelle Position deiner Motoren geliefert bekommen
Re: Fehler beim kompilieren
July 12, 2011 07:07AM
Wenn die unteren Coms frei sind, kannst du die Ports in der Systemsteuerung runter setzen. Im Gerätemanager.
Gehst du auf den Com, dann auf Anschlusseinstellungen und dann Erweitert...
Meist sind die unteren Ports mal reserviert worden, weil du da eine Cam oder einen USB-Stick rein gesteckt hattest. Dann wird immer der nächste genommen und irgendwann landet man dann bei 254 tongue sticking out smiley obwohl man die unteren auch verwenden kann wenn das andere Gerät nicht drinn ist.


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Re: Fehler beim kompilieren
July 12, 2011 07:08AM
Nachtrag: um mit dem Atmega zu kommunizieren reicht es, wenn die gelbe Lampe leuchtet

gelb=Standby
grün=Elektronik aktiv
Re: Fehler beim kompilieren
July 12, 2011 07:10AM
Stoffel15 Wrote:
-------------------------------------------------------
> Wenn die unteren Coms frei sind, kannst du die
> Ports in der Systemsteuerung runter setzen. Im
> Gerätemanager.
> Gehst du auf den Com, dann auf
> Anschlusseinstellungen und dann Erweitert...
> Meist sind die unteren Ports mal reserviert
> worden, weil du da eine Cam oder einen USB-Stick
> rein gesteckt hattest. Dann wird immer der
> nächste genommen und irgendwann landet man dann
> bei 254 tongue sticking out smiley obwohl man die unteren auch verwenden
> kann wenn das andere Gerät nicht drinn ist.

Das hat bei mir nicht funktioniert Wolfgang (Windows 7, auch wenn die Geräte nicht eingesteckt sind)

Ich musste irgendwo in der Registry rumfuschen, den entsprechenden Link hab ich aber nur zu Hause...
Re: Fehler beim kompilieren
July 12, 2011 07:17AM
Quote

Nach suchen fand ich einen Beitrag im Forum, dass die gelbe und grüne Lampe leuchten sollten. Bei mir leuchtet aber nur die gelbe Lampe.

Die Gelbe reicht definitiv zum Firmware hochladen. Ein paar Leute waren mal irritiert, dass das Netzteil "tot" bleibt ...

Für die v1.2-Leute: da ist die LED an der gleichen Stelle, aber grün.

Es gibt da auch noch ein kleines Testprogrämmchen: [reprap.org] Wenn das funktioniert, funktioniert auch das hochladen der "richtigen" Firmware.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Fehler beim kompilieren
July 12, 2011 08:44AM
"Das hat bei mir nicht funktioniert Wolfgang (Windows 7, auch wenn die Geräte nicht eingesteckt sind)"

Ich weis schon warum ich Win7 nicht mag tongue sticking out smiley


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Re: Fehler beim kompilieren
July 12, 2011 06:30PM
Nach Wolfgangs Anleitung habe ich den COM-Port auf COM1 umgelegt Allerdings musste ich erst Bluetooth deaktivieren.
Die Ausgaben haben sich dadurch allerdings nur geringfügig geändert. Leider nicht zum Positiven.

Wenn ich die Testfirmware "SetupTest.pde" hochlade, erscheint folgendes:



Und wenn ich versuche den Bootloader neu hochzuladen erscheint folgender Fehler:



Den Bootloader wollte ich erneut hochladen, da ich den Hinweis bei dieser Fehlermeldung in einem englischsprachigem Forum fand. Leider bekomme ich auch hier nur eine Fehlermeldung zurück.

Das kann doch alles nicht so schwer sein, oder?
Re: Fehler beim kompilieren
July 12, 2011 06:51PM
Habe ich den Prozessor zerschossen???
Ich verstehe das nicht, die Signature wird ja ausgelesen.
Aber egal was ich versuche, es endet immer mit einem Fehler.

Ist der "Programmer" falsch?
Davon habe ich auch schon etliche versucht. Und die beste Wahl war bisher "stk500v2".
Re: Fehler beim kompilieren
July 13, 2011 12:34AM
"Nach Wolfgangs Anleitung habe ich den COM-Port auf COM1 umgelegt Allerdings musste ich erst Bluetooth deaktivieren.
Die Ausgaben haben sich dadurch allerdings nur geringfügig geändert. Leider nicht zum Positiven."

Dann hat das auch nicht geklappt..mit dem runter ziehen der Schnittstellenbezeichnung. Der macht ja nur noch Fehlermeldungen.
Außerdem hatte ich gesagt "Wenn die Schnittstelle frei ist" und die war ja wohl nicht frei, wenn da Bluetooth drauf ist/war.
Mach das mal wieder rückgängig.


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Re: Fehler beim kompilieren
July 13, 2011 01:42AM
kannst du mal einen Screenshot deines Gerätemanagers machen, der die COM-Ports zeigt?

a la:



Re: Fehler beim kompilieren
July 13, 2011 03:20AM
@Wolfgang
Die beiden COM-Ports 1+2 waren tatsächlich frei.
Bluetooth hatte bei, ich glaube, zwischen 8-10 Ports belegt.
Das hatte zuvor noch nie beobachtet.

Anbei der Screenshot:


Edit:
Und nochmal als Anhang.

Edited 1 time(s). Last edit at 07/13/2011 03:59AM by Max Bahr.
Re: Fehler beim kompilieren
July 13, 2011 03:23AM
Ach blöd, jetzt blockt die Unternehmensfirewall Dropbox, so dass ich den Screenshot nicht sehe :-/ muss ich heute Abend mal drauf schauen... Alternativ als Attachment direkt ins Forum hängen...
Re: Fehler beim kompilieren
July 13, 2011 03:28AM
Falls ich nicht völlig Bockmist gemacht habe, installiere ich mir jetzt noch einmal parallel Ubuntu auf meinen Laptop und versuche es damit nochmal.
bns
Re: Fehler beim kompilieren
July 13, 2011 04:28AM
Hi,

da du zwar vom AVR lesen kannst (du kannst die Signatur auslesen), aber nicht schreiben kannst (beim Versuch des Programmierens der Fuses gibt es einen Fehler): check noch mal die Leitungen und Leiterbahnen - vielleicht ist die Leitung, über die die Daten an den AVR gesendet werden, nicht o.k. (der zugehörige Pin, an dem die Daten ankommen müssen, ist beim ATMega644 Port PB5, also Pin Nummer 6).

Gruss
Frank
Re: Fehler beim kompilieren
July 13, 2011 07:24AM
Wird sofort geprüft.
Ich hoffe ich finde den PIN. confused smiley

Es scheint tatsächlich egal zu, von welchem Rechner ich aus gehe.
Mein Vista-Rechner gibt über die Shell die Signatur zurück, aber trotzdem gibt es beim schreiben eine Fehlermeldung:
Re: Fehler beim kompilieren
July 13, 2011 07:47AM
Anbei der Ausschnitt der Platine. Ich konnte jetzt nichts finden.



Kann ich das zur Not sonst mit einem Messgerät überprüfen?
Falls dort irgendwo ein Kurzer drin steckt und man das nicht sehen kann.
Es raucht ja auch nicht, sobald Strom dran ist.

Edited 1 time(s). Last edit at 07/13/2011 07:52AM by Max Bahr.
bns
Re: Fehler beim kompilieren
July 13, 2011 08:28AM
Die Platine sieht o.k. aus -- hast Du mal mit 'nem Multimeter durchge"klingelt", ob die Verbindung vom Programmer zum AVR o.k. ist (also die "gewollten Verbindungen nahe 0 Ohm, und zwischen den Leitungen deutlich mehr als 0 Ohm)? Es könnten ja auch Kabelbrüche etc. sein...

Noch 'ne Idee (ich kenne bisher die ganze Elektronik und Software vom RepRap nicht, arbeite mich gerade erst ein, bin aber bei AVRs recht erfahren):

Kann man irgendwo die Taktrate des Programmierens einstellen? Die AVRs können maximal 1/4 des Systemtakts, und bei unprogrammierten AVRs ist der in der Regel 1 MHz (per internem Oszillator). Wenn Du also versuchst, mit mehr als 250 kHz zu programmieren, schlägt das fehl.

Gruß
Frank
bns
Re: Fehler beim kompilieren
July 13, 2011 08:42AM
Gerade erst in Deinem Screenshot (shell.jpg) gesehen:

Du hast ja jedes mal einen anderen Programmer beim Aufruf von AVRDUDE angegeben. Der erste (ponyser) scheint falsch zu sein (keine Kommunikation möglich), aber der zweite (avrispv2) konnte ja die Kennung auslesen.
Welchen Programmieradapter hast Du? Und hast Du auch versucht, mit diesem avrispv2 die Fuses zu programmieren?
Re: Fehler beim kompilieren
July 13, 2011 08:50AM
Da ich nicht wußte, welchen Programmer ich nutzen muss, habe ich erst den in der Anleitung als Beispiel angegebenen "avrispv2" benutzt. Hat nicht geklappt! Und dann habe ich mich durch alle durchprobiert. Der "stk500v2" war derjenige, bei dem ich am Weitesten kam.
Eventuell habe ich das überlesen oder nicht finden können, aber ich weiß leider immer noch nicht, wie man den richtigen Programmer auswählt bzw. findet. Ist der speziell für jeden AVR anders?

So, ich habe gerade mal alle Verbindungen durchgeklingelt, die vom AVR (ATMega644 ???) und dem Programmer (serieller Anschluss ???) kommen. Es hat nur auf den zugehörigen Bahnen gepiept/geklingelt. Einige Bahnen hatten geringe Ohm-Werte angezeigt andere keine. Die Bahnen in der Nähe des AVR hatten keine Verbindung zueinander, nur um auszuschliessen, dass ich nicht doch über den Rand gelötet habe.

Ratlos?!?!?confused smiley
Re: Fehler beim kompilieren
July 13, 2011 08:54AM
Mit der Taktrate kann ich Dir leider gar nicht weiterhelfen. Zumindest konnte ich darüber nichts in der WIKI hier lesen.
Ich bin ja Schritt für durchgegangen und stehe jetzt bei der Firmware aufspielen bzw. beim Testen.

Kann ich eigentlich auch nur über die serielle Verbindung also den USB-Stecker zum Testen den Strom holen?
Das ständige ab- und ankabeln vom Netzteil ist mühsam und bei der kleinen Platine breche ich noch irgendwann durch.

Ich kann die Stromversorgung ja per Jumper auf "seriell" umstellen, nur reicht das aus, um zumindest die Kommunikation mit dem ATmega herzustellen?
Re: Fehler beim kompilieren
July 13, 2011 08:59AM
Max Bahr Wrote:
-------------------------------------------------------
>
> Ich kann die Stromversorgung ja per Jumper auf
> "seriell" umstellen, nur reicht das aus, um
> zumindest die Kommunikation mit dem ATmega
> herzustellen?

jo
bns
Re: Fehler beim kompilieren
July 13, 2011 09:09AM
Woher hast Du den Programmer denn?
Gibt es irgendwo Doku dazu?
bns
Re: Fehler beim kompilieren
July 13, 2011 09:22AM
Mir schwant gerade was...

Kann es sein, dass Du gar keinen Programmieradapter hast? Versuchst Du, den Bootloader über die im Schaltplan mit "SERIAL" bezeichnete Stiftleiste (6 Pins nebeneinander) zu programmieren?

Programmieren kannst Du nur über die "2x3"-Stiftleiste, die in dem Foto weiter oben in diesem Thread unbenutzt ist.
Re: Fehler beim kompilieren
July 13, 2011 09:29AM
@bns
Auf der reprap.org findest Du unter "Progamming the bootloader using the command line" folgende Zeile:
Quote

cd hardware\tools
avrdude -C avrdude.conf -c ? # find your programmer, e.g. "avrispv2"

Danach bin ich erstmal gegangen. Und der hat nicht geklappt. Bis ich den "stk500v2" probiert habe.
Mit dieser Zeile bekommst Du eine Auflistung aller verfügbaren Programmer:
avrdude -C avrdude.conf -c ?

Wenn ich einen Status vom AVR abrufe, bekomme ich auch eine Antwort.

Es scheint so, als ob ich nicht schreiben dürfte/könnte.



Und die "Fuses" sind OK. Was das auch immer ist. Soweit bin ich leider noch nicht.
Sorry, you do not have permission to post/reply in this forum.