Welcome! Log In Create A New Profile

Advanced

Fehler beim kompilieren

Posted by Max Bahr 
bns
Re: Fehler beim kompilieren
July 13, 2011 09:36AM
Die "Fuses" sind drei Bytes, welche verschiedene Grundeinstellungen des Mikrocontrollers festlegen (z.B., ob er den Takt intern erzeugt oder ob der extern über einen Quarz generiert wird).
Wenns Dich näher interessiert: Einzelheiten findest Du im Datenblatt bei Atmel (http://www.atmel.com/dyn/resources/prod_documents/doc2593.pdf - Kapitel 25.2)

Dass die Fuses alle als Null gelesen werden ist nicht OK (auch wenn AVRDude was anderes behauptet) - Im Datenblatt steht die "Default"-Einstellung, und die ist nicht für alle Bits 0.
Ich vermute, die Device signature wird gar nicht wirklich gelesen, sondern AVRDude gibt die nur so als Info aus, warum auch immer.

Aber entscheidend ist erst mal grundsätzlich: Hast Du einen Programmer (kann auch ein einfaches Kabel sein) an der 2x3-poligen Stiftleiste angeschlossen?
Das Wiki ist an der Stelle nicht gerade eindeutig - hier sollte ein Hinweis stehen, dass man zum Programmieren des Bootloaders erst mal einen geeigneten Programmer braucht und das etwas grundsätzlich anderes ist als wenn man über den Bootloader später die eigentliche Firmware aufspielt.

Edited 1 time(s). Last edit at 07/13/2011 09:38AM by bns.
Re: Fehler beim kompilieren
July 13, 2011 09:36AM
Quote
bns
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.

Oh oh!!!
Ich dachte ich hätte alles dabei was ich von Traumflug bekomme habe.
Oh ne, sag nicht ich muss noch mehr kaufen???

Was mache ich dann bitte mit dem FTDI?

Du meinst "CONN6" ist nur zum Programmieren und übertragen der Befehle zuständig?
Re: Fehler beim kompilieren
July 13, 2011 09:41AM
Oh ne, ist das der USB-TTL Converter?
Traumflug hat mich daraufhin gewiesen und ich dachte das ist das USB-232 Kabel.

Meine Frau bringt mich um, schon wieder Kosten.confused smiley
bns
Re: Fehler beim kompilieren
July 13, 2011 09:42AM
Wenn der Mikrocontroller keinen Bootloader drauf hat, also "fabrikneu" ist, musst Du über die 2x3-Stiftleiste den Bootloader programmieren.
Wenn der Bootloader schon programmiert ist, kannst Du die ganze Prozedur mit AVRDUDE vergessen - dann solltest Du über die "SERIAL"-Stiftleiste mit dem Bootloader "sprechen" können und der Bootloader kann dann die eigentliche Firmware in den Flash des ATMega schreiben.

Allerdings nicht den Kopf in den Sand stecken: Für den AVR gibt es auch simpelste "Programmieradapter", die nur aus ein paar Widerständen und Drähten bestehen und an die serielle Schnittstelle angeschlossen werden.
Re: Fehler beim kompilieren
July 13, 2011 09:47AM
Zu deinem Verständnis:

Um den Atmel programmieren zu können (=Firmware aufspielen) braucht man einen Programmer. Kommunizieren tust du über eine serielle Schnittstelle.

Um nicht jedes mal die Schnittstelle zum PC zu wechseln ist jemand auf die schlaue Idee gekommen, einen "Bootloader" zu entwickeln, sprich, ein Stück Software, was es der Arduino IDE erlaubt, die Programmierung auch über die serielle Schnittstelle in Software zu erledigen. Das heißt die Firmware kann über die serielle Schnittstelle aufgespielt werden.

Der Bootloader muss initial aber immer mit einem Programmer aufgespielt werden. Wenn du deinen Atmel bei Traumflug gekauft hast, wird er den Bootloader vermutlich bereits programmiert haben. Das avrdude Geraffel musst du dann NICHT selber machen...

Die meisten modernen PCs besitzen keine serielle Schnittstelle mehr sondern nur einen USB Port. Es gibt nun Adapter (dein FTDI Dingens) mit dem du eine serielle Schnittstelle über USB emulieren kannst.


Einen geeigneten Programmer findest zu z.B. hier (hoffe ich hab den richtigen erwischt.
bns
Re: Fehler beim kompilieren
July 13, 2011 09:53AM
Billigerer Selbstbauprogrammer:

[www.lancos.com]

(Das ganze Zeugs oberhalb von R3 und Q1 kannst Du weglassen, das ist nur, um die Baugruppe beim Programmieren auch über ein Steckernetzteil o.ä. powern zu können.
Schau dir mal die Doku zu PONYPROG an - in der Liste der unterstützten Programmer gibt's jede Menge Links zu eben diesen:
[www.nongnu.org]
Re: Fehler beim kompilieren
July 13, 2011 09:55AM
Bevor du mit dem Löten anfängst schau aber erstmal, ob der Bootloader nicht schon drauf ist winking smiley
Re: Fehler beim kompilieren
July 13, 2011 09:58AM
Macht den armen Kerl doch nicht jeck smiling smiley

Der Bootloader ist doch auf dem Ding schon drauf... Der Traumflug macht die doch soweit fertig.

Er braucht doch nur noch die Firmware und nen Connekt zu der Karte... ohoh...


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

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
bns
Re: Fehler beim kompilieren
July 13, 2011 10:00AM
Womit schmelly sicher recht hat...

Aber wie gesagt, das Wiki ist an der Stelle noch etwas ausbaufähig...
Re: Fehler beim kompilieren
July 13, 2011 10:09AM
Juhuu!
Ich bin jetzt völlig verwirrt. sad smiley

Für den Fall, dass der nette Traumflug mir schon den Bootloader raufgespielt hat, kann ich mit dem FTDI noch nichts anfangen. Richtig?

Mir fehlt noch die Firmware und die bekomme ich nur über einen Programmer aufgespielt.
Zum Beispiel diesen hier: watterott

Aber wo bekomme ich das passende Kabel her? Ich finde das Kabel nicht im Shop bei Watterott. Das muss ja dann von 10 Pin auf die 6 Pins auf der Gen7-Platine passen.

Edit:
Dann kann ich also mit dem "avrdude" und dem FTDI eigentlich gar nichts erreichen, da ich den Programmer nicht besitze, oder? (ich krieg Kopfschmerzen confused smiley)
Den FTDI benutze ich später nur, um die 3D-Daten zum Drucker zu überspielen.

Edited 1 time(s). Last edit at 07/13/2011 10:13AM by Max Bahr.
Re: Fehler beim kompilieren
July 13, 2011 10:11AM
FTDI ist OK
damit spielt man die Firmware auf , alles andere brauchst du nicht


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 10:14AM
schmelly Wrote:
-------------------------------------------------------
> Um nicht jedes mal die Schnittstelle zum PC zu
> wechseln ist jemand auf die schlaue Idee gekommen,
> einen "Bootloader" zu entwickeln, sprich, ein
> Stück Software, was es der Arduino IDE erlaubt,
> die Programmierung auch über die serielle
> Schnittstelle in Software zu erledigen. Das heißt
> die Firmware kann über die serielle Schnittstelle
> aufgespielt werden.
>
> Der Bootloader muss initial aber immer mit einem
> Programmer aufgespielt werden. Wenn du deinen
> Atmel bei Traumflug gekauft hast, wird er den
> Bootloader vermutlich bereits programmiert haben.
> Das avrdude Geraffel musst du dann NICHT selber
> machen...

Wenn der Bootloader drauf ist, brauchst du KEINEN Programmer. Nimm dir mal mehr Zeit zum lesen...

NUR der Bootloader muss initial mit einem Programmer aufgespielt werden
bns
Re: Fehler beim kompilieren
July 13, 2011 10:24AM
Der FTDI ist nur ein Teil, welches an Deinem Computer quasi eine serielle Schnittstelle (COM-Port) per USB anschliesst.
Wenn Dein Computer eine serielle Schnittstelle (so eine meist 9-polige SUB-D-Buchse) hat, brauchst Du den FTDI nicht - dann kannst Du direkt ein Kabel von der 6-poligen SERIAL-Stiftleiste zur SUB-D-Buchse ziehen.

Der Bootloader ist praktisch ein kleines Programm im ATMega, welcher an der SERIAL-Stiftleiste auf Befehle vom Computer lauscht - und wenn was kommt, dann führt er die Befehle (z.B. schreibe Firmware ins Flash) aus.
Wenn der Bootloader nicht drauf ist, dann weiss der ATMega mit den Befehlen, die an der SERIAL-Stiftleiste ankommen, nichts anzufangen. Die einzige Möglichkeit, einen solchen "blanken" ATMega zu programmieren ist über die Pins, welche an diese "2x3"-Stiftleiste angeschlossen sind. Und dafür brauchst Du dann irgend einen Programmieradapter (wie z.B. den von watterott).

Aber wenn der Bootloader drauf ist, dann vergiss das ganze mit dem Programmieradapter, schliess den FTDI wieder an SERIAL an und schau zu, dass die Software auf dem Computer mit dem Bootloader auf dem ATMega kommunizieren kann.

Gruss
Frank
Re: Fehler beim kompilieren
July 13, 2011 10:25AM
Man, was bin ich froh, dass ihr alle so geduldig mit mir seid. moody smiley

Für mich heißt das dann ich kann den Schritt überspringen, da mein Bootloader schon drauf ist.
Also mache ich hier weiter: Serial Connection

Das ist erledigt:
Port: COM1
Board: Gen7 with ATmega644 and 20 MHz
Wähle ich jetzt die "SetupTest.pde" aus und starte mit dem Upload, dann bin ich wieder hier:



Könnte heulen!
Re: Fehler beim kompilieren
July 13, 2011 11:14AM
Hast du die Baudrate an der Schnittstelle (in Windoof) richtig eingestellt ? Ftdi richtig rum drauf ?

Nicht weinen... kommt doch alles noch... nicht den Kopf hängen lassen...

Irgendwer wird es schon wissen hier.


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 11:26AM
Muss die Baudrate auf 9600?
Der FTDI schaut mit dem Chip und USB nach unten.
Re: Fehler beim kompilieren
July 13, 2011 11:46AM
nagel mich nicht drauf fest aber ich glaube ich hab den bootloader bei mir mit 9600 baud aufgespielt
Re: Fehler beim kompilieren
July 13, 2011 12:28PM
Zumindest die markierten sehen recht kalt aus:



Das Lot muss auf dem Kupfer so richtig schön breit fliessen. Also am besten absaugen und noch einmal.


Quote

Kann man irgendwo die Taktrate des Programmierens einstellen?

Das macht das "-B" Flag. "-B 1" ist schnell, "-B 5" ist langsam genug, um auch bei 1 MHz zu funktionieren.


Generation 7 Electronics Teacup Firmware RepRap DIY
     

Attachments:
open | download - 2011-07-13 14.47.41.jpg (87 KB)
Re: Fehler beim kompilieren
July 13, 2011 12:46PM
Quote

nagel mich nicht drauf fest aber ich glaube ich hab den bootloader bei mir mit 9600 baud aufgespielt

Um noch ein bisschen mehr Verwirrung zu stiften: den Bootloader kann man nur mit dem Programmer hochladen und der hat keine Baudrate.

Das hier ist der Programmer:



und das hier der "FTDI":



Auf dem ATmega ist nicht nur der Bootloader schon drauf, sondern auch ein kleines Testprogramm, das ein bisschen was über den FTDI ( = serielle Schnittstelle) ausgibt. Also einfach mal den Serial Monitor der Arduino IDE anzeigen lassen und gucken.


Generation 7 Electronics Teacup Firmware RepRap DIY
     

Re: Fehler beim kompilieren
July 13, 2011 01:09PM
Max Bahr Wrote:
-------------------------------------------------------
> Muss die Baudrate auf 9600?
> Der FTDI schaut mit dem Chip und USB nach unten.


Bautrate JA
FTDI ist auch ok...

müßte also kommen.


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 04:18PM
Quote
Traumflug
Auf dem ATmega ist nicht nur der Bootloader schon drauf, sondern auch ein kleines Testprogramm, das ein bisschen was über den FTDI ( = serielle Schnittstelle) ausgibt. Also einfach mal den Serial Monitor der Arduino IDE anzeigen lassen und gucken.

Bei mir zeigt der Serial Monitor ungefähr um Sekundentakt eine Null nach der anderen, die zeilenweise erscheinen.

Die "kalten" Lötstellen habe ich neu gemacht, ebenso bin ich jetzt einmal über die gesamte Platine gehuscht und habe alles unschöne zu schönen Fladen verarbeitet.

Das Ergebnis nach der Kosmetik ist aber wieder dieselbe Fehlermeldung, wenn ich versuche das "SetupTest.pde"-Skript hochzuladen:
avrdude: verification error, first mismatch at byte 0x0000
         0x0c != 0x14
avrdude: verification error; content mismatch

Bin ich solch ein Härtefall???? confused smiley
Re: Fehler beim kompilieren
July 14, 2011 01:12AM
Quote

Bei mir zeigt der Serial Monitor ungefähr um Sekundentakt eine Null nach der anderen, die zeilenweise erscheinen.

Das ist doch super! Genau das soll er tun, die serielle Schnittstelle funktioniert.

Quote

Bin ich solch ein Härtefall?

Ich frage mich die ganze Zeit, wie die Arduinos das machen. Die Gen3, RAMPS, Sanguinololu. Die sind im Bereich Firmware hochladen genau gleich.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
bns
Re: Fehler beim kompilieren
July 14, 2011 02:02AM
Hm, jetzt gibt es natürlich eine ganze Reihe von möglichen Fehlerquellen:

1) Baudrate falsch eingestellt (wo stellt man die für den FTDI-Adapter ein und muss man die per Hand einstellen, oder macht das die RepRap Software automatisch?)
2) ATMega defekt
3) FTDI-Adapter defekt
4) Störungen durch unsaubere Spannungsversorgung
5) irgendwas anderes.... ;-)


zu 1) muss Dir jemand helfen, der sich mit der RepRap-Software auskennt.

2) und 3) auszuschliessen wird schwer sein, ausser Du hast noch einen Ersatz oder Oszilloskop o.ä. zum Debuggen. Hast Du eventuell noch einen anderen Rechner, der eine serielle Schnittstelle hat? Dann könnte man die Kommunikation mal ohne den FTDI-Adapter testen.

Um 4) auszuschliessen, kannst Du ja mal den ATMega direkt über den FTDI-Adapter mit Spannung speisen und das Netzteil am besten ganz von der Platine trennen. Du solltest auch sonst alle Verbindungen trennen um sicherzustellen, dass nicht zu viel Strom aus dem FTDI-Adapter gezogen wird. So wie ich den Schaltplan verstehe, muss dazu J15 geschlossen werden.


Du bist kein Härtefall, Du hast einfach nur Pech irgendeinen Fehler eingebaut zu haben, den man ohne eine gewisse Erfahrung in Elektronik nicht so einfach findet. Aber dafür gibt es ja dieses Forum...

Gruss
Frank

Edited 1 time(s). Last edit at 07/14/2011 02:06AM by bns.
VDX
Re: Fehler beim kompilieren
July 14, 2011 02:03AM
Hi Max,

bei meinen Gen3, Mega mit RAMPS und auch den kleineren Arduinos mache ich den Upload immer auf die gleiche Weise - das FTDI kabel auf- und einstecken, abwarten, bis der entsprechende Port bei "Tools/Serial Port/" erscheint ... da dann draufklicken, wenn kein Häckchen angezeigt wird ...

Dann bei "Tools/Board/" den richtigen Arduino auswählen und das Programm mit dem Upload-Button kompiliern und programmieren lassen.

Bei den kleineren Arduinos muß ich noch zur richtigen zeit den Reset-Button auf dem Board drücken, die Megas machen einen Selbstreset.

Kannst du mal eine Skizze deines Aufbaus und die Abfolge deiner Aktionen posten?


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Fehler beim kompilieren
July 14, 2011 06:40AM
Wenn der nullen senden soll... dann läuft die Schnittstelle doch.
Dann hat sich das mit der Baudrate schon mal erledigt.

Jetzt mußt du dir noch die richtige firmware nehmen, und die Arduino-Software (wie der VDX beschreibt) noch richtig einstellen... dann müßte das normalerweise funktionieren. Du mußt nur, wenn die Zeile vom Compilieren in der Aduino-Software kommt schnell auf den Reset drücken. Dann fängt die Schnittstelle an zu flimmern... danach müßte dann das OK (done) kommen.


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 14, 2011 07:05AM
Quote

Dann hat sich das mit der Baudrate schon mal erledigt.

Bleibt der kleine Haken, dass die Nullen bei 9600 Baud kommen, der Bootloader aber mit 115200 Baud arbeitet. Ob Win7 mit 115200 Baud einfach überfordert ist? Oder ob man die Baudrate jedes mal im Gerätemanager umstellen muss?


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Fehler beim kompilieren
July 14, 2011 07:09AM
Ob Win7 mit 115200 Baud einfach überfordert ist? NEIN
Oder ob man die Baudrate jedes mal im Gerätemanager umstellen muss? NEIN

Das Programm das die COM port nutzt setzt die Baudrate.


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Re: Fehler beim kompilieren
July 14, 2011 07:12AM
bns
Re: Fehler beim kompilieren
July 14, 2011 07:42AM
>> Das Programm das die COM port nutzt setzt die Baudrate.

Ist das wirklich so? Natürlich kann ein Programm, wenn es den COM-Port öffnet, die Baudrate einstellen, aber ist es hier bei der RepRap-Software auch wirklich so?
Re: Fehler beim kompilieren
July 14, 2011 08:09AM
JA!

Preferences - Globals - BaudRate (6 Parameter von oben, Linke seite).

DEFAULT ist 19200.


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Sorry, you do not have permission to post/reply in this forum.