mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Eigenes Board mit Arduino programmieren ATmega2560


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Simon X. (simon1720)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag
Ich habe ein eigenes Board entwickelt, mit einem Mikrocontroller 
ATmega256016Au damit ich diesen auch mit dem Arduino Studio (IDE) 
programmieren kann fügte ich noch den Chip FTDI232R hinzu. Nachdem ich 
mich erkundigt habe wie man den Chip richtig anschliesst versuchte ich 
es genau auf die gleiche Art. Um den Atmega2560 auch programmierfähig zu 
machen habe ich den Bootloader von Arduino über die ISP Schnittstelle 
geladen. Bootloader: (STK500 Mega 2560).
Arduino Studio Einstellungen:
Board: Arduino/Genuino Mega or Mega 2560
Prozessor: ATmega2560
Port: Jeweilige USB
Programmer: nicht sicher habe jeden ausprobiert.

Ich habe auch mal nach dem FTDI232 gemessen mit einem UART-USB. Das 
Studio sendet sechs mal hintereinander 0xF9. Ich denke der ATmega müsste 
daraufhin sicher antworten. Aber nichts. Langsam bin ich mit meinem 
Latein am ende. Den ich sehe weder einen Fehler au der seite des Schemas 
noch wieso der Bootloader nicht funktionieren sollte. Im Anhang ist auch 
noch das Schema von dem FTDI232 die UART Geht direkt an den ATmega2560 
UART0.
Kennt sich jemand mit dem aus oder hatte jemand schon ein ähnliches 
Problem.
Bitte um Hilfe

Danke im voraus

Autor: Brain 2.0 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat denn das Flashen des Bootloaders funktioniert ?

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anfänger verbinden oft Tx mit Tx und Rx mit Rx.

Das wäre nicht so gut.

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon X. schrieb:
> Bitte um Hilfe

Im Driver des FT232 müsste man vieleicht noch die richtige
Baudrate einstellen (vermutlixh 115200), das macht die Arduino
IDE sicher nicht von selbst.

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das Atmel Studio hat dies korrekt programmiert und wird auch korrekt 
wieder gelesen.

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese sind korrekt gekreuzt.

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wie stellt man die richtige Baudrate ein bei dem FTDI232? bzw. wo 
her weiss ich wie viel das Arduino Studio macht.

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon X. schrieb:
> wo her weiss ich wie viel das Arduino Studio macht.

Dem ist das wurscht.

Der Bootloader braucht eine definierte Baudrate.

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Simon X. schrieb:
> wie stellt man die richtige Baudrate ein bei dem FTDI232?

Geräte-Manager --> Anschlüsse --> dein_FT232_Port -->
--> Anschlusseinstellungen

Autor: Brain 2.0 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum flashst du den nicht komplett mit ISP ?

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oke also dem ist das egal und wie sehe ich was für eine Baudrate in dem 
Hex file enthalten ist.

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte nur noch mit dem Arduino Studio den flashen und nicht einen 
externen programmer dafür nehmen.

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon X. schrieb:
> und wie sehe ich was für eine Baudrate in dem
> Hex file enthalten ist.

Alle Arduino Bootloader arbeiten mit 115200 (evtl.
wenige Ausnahmen).

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe in Windows die einstellung vorgenommen mit 115200. Jedoch 
funktioniert dies immer noch nicht jetzt sendet das Arduino Studio 
vollgendes.

0x1B 0x01 0x00 0x01 0x0E 0X01 0X14

Aber ohne erfolg den AVR zu programmieren. Benutze ich ev. den falschen 
programmer im Arduino Studio?

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon X. schrieb:
> Aber ohne erfolg den AVR zu programmieren.

Wie ist der Reset des 2560 beschaltet?

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon X. schrieb:
> Benutze ich ev. den falschen programmer im Arduino Studio?

Probier doch einfach alle durch.

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon X. schrieb:
> Benutze ich ev. den falschen programmer im Arduino Studio?

Die Boot Fuses des 2560 müssen auch noch gesetzt werden ....

Autor: Simon X. (simon1720)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dies ist die Schaltung beim Reset des Atmega2560

Autor: Simon X. (simon1720)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Fuses wurden ebenfalls gesetzt.

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und noch zur Ergänzung/Korrektur der clock divider /8 wurde entfernt.

Autor: Hilf Hilf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon X. schrieb:
> Fuses wurden ebenfalls gesetzt.

Simon X. schrieb:
> der clock divider /8 wurde entfernt.

Dann fällt mir nichts mehr ein.

Autor: Timo N. (tnn85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Es heißt Arduino IDE und Atmel Studio. Arduino Studio gibt es nicht 
und führt komplett zu Verwirrung.

2. Einfacher wäre es, wenn man deinen kompletten Schaltplan sehen würde 
und nicht nur ein paar Ausschnitte. Die Frequenz des Quarzes ist z.b. 
auch gar nicht angegeben.

3. Die Frage ist auch, welchen Programmer du überhaupt besitzt? Mit 
welchem Programmer programmierst du die Fuses in Atmel Studio? Das oben 
im Programming Tool bei Atmel Studio bei "Tool" "Simulator" drin steht, 
macht mich stutzig, ob du überhaupt einen Programmer besitzt.

4. Ob die Fuses so stimmen, weiß ich auswendig nicht. Das sollte aber 
leicht zu googlen sein.


5. Wie sieht dein Layout aus?

6. Klären wir erst mal die oberen Fragen

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich benutze das Atmel Studio mit dem ICE-Debugger von Atmel selbst 
mit dem vorgegebenen Stecker(ISP). Der Quarz ist 16MHz. auf dem Boar 
existieren keine weiteren Komponenten außer Stecker, jedoch denke ich 
kaum, das Stecker einen Einfluss haben. Der USB wird auch nicht gestört 
den, dass was ich au einem USB ausgebe kann ich direkt an dem 
Mikrocontroller wieder messen.

Autor: Timo N. (tnn85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, wenn du den Schaltplan und Layout nicht zeigen willst...
Ich wäre immer vorsichtig mit solchen Vermutungen, dass es daran nicht 
liegen kann etc.

Wurde der Bootloader denn jetzt erfolgreich aufgespielt bzw. woher weißt 
du das? Irgendwie hab ich die Vermutung, dass das nicht geklappt hat.

Falls nein:
Atmel ICE gibt es ja als Programmmer in Arduino zur Auswahl. Warum 
STK500? Ich selbst hab den Programmer nicht.

Die Frage mit den Fuses bleibt bestehen. Wieso steht da "Simulator" im 
Programmierdialog der Fuses? Bist du sicher, dass du die programmiert 
hast und nicht nur irgendwas mit dem Simulator simuliert?

Simon X. schrieb:
> Der USB wird auch nicht gestört
> den, dass was ich au einem USB ausgebe kann ich direkt an dem
> Mikrocontroller wieder messen.

? Du meinst damit am FT232 kommt hinten was an Tx und Rx raus, wenn du 
was genau machst?

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das Bild wurde aufgenommen, als der ICE wieder entfernt wurde 
Einstellungen gleich jedoch steht simulator. Er wurde aber korrekt 
geladen. Dies habe ich wieder geprüft mit verify. Der Stk500 Bootloader 
ist für den Atmega2560 oder sehe ich dies falsch?
Ja wen man über die Konsole etwas schreibt und man an RX/Tx auf der 
anderen Seite an dem Microkontroller misst, kommt das selbe wie man 
hinein schreib somit funktioniert diese Verbindung einwandfrei.

Autor: Vende (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
löst der reset vom FTDI232R beim upload aus?
eventuell manuell den mega reseten beim upload.
reicht vielleicht die stromversorgung vom usb nicht aus?

Autor: Timo N. (tnn85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage ist immer noch, ob der Bootloader von der Arduino IDE 
erfolgreich auf den ATmega geflasht wurde.
Das muss ja in der Ausgabe gestanden haben.
Das ist bisher noch nicht sicher. Der TO ist aber schon einen Schritt 
weiter und testet die serielle Verbindung zwischen FTDI und ATmega.
Bevor der Bootloader nicht funktioniert, hat das aber keinen Sinn.

Aktueller Bootloader für Arduino:
https://github.com/Optiboot/optiboot

Autor: Andreas W. (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut dem Screenshot ist BOOTRST nicht gesetzt und dadurch wird der 
Bootloader nach einem Reset nicht ausgeführt.

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timo N. schrieb:
> Die Frage ist immer noch, ob der Bootloader von der Arduino IDE
> erfolgreich auf den ATmega geflasht wurde.
> Das muss ja in der Ausgabe gestanden haben.
> Das ist bisher noch nicht sicher. Der TO ist aber schon einen Schritt
> weiter und testet die serielle Verbindung zwischen FTDI und ATmega.
> Bevor der Bootloader nicht funktioniert, hat das aber keinen Sinn.
>
> Aktueller Bootloader für Arduino:
> https://github.com/Optiboot/optiboot

Also der Bootloader wird nicht über die IDE geladen sondern mit dem 
Atmel Studio. Und bevor ich den Bootloader in frage stelle wäre es ja 
sinnvoll zu sehen funktioniert überhaupt der Baustein wie er sollte.

Autor: Simon X. (simon1720)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas W. schrieb:
> Laut dem Screenshot ist BOOTRST nicht gesetzt und dadurch wird der
> Bootloader nach einem Reset nicht ausgeführt.

Würde dies bedeuten wen durch ein Programm der IDE der Mikrocontroller 
in Boot Modus versetzt wird, das dies nur ein Mal machbar wäre, weil ja 
ein Reset durchgeführt wird nach dem beenden des Uploads des Sketchs.

Autor: Timo N. (tnn85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon X. schrieb:
> Also der Bootloader wird nicht über die IDE geladen sondern mit dem
> Atmel Studio. Und bevor ich den Bootloader in frage stelle wäre es ja
> sinnvoll zu sehen funktioniert überhaupt der Baustein wie er sollte.

Huh? Warum nutzt du nicht die Arduino IDE zum flashen des Bootloaders? 
Davon bin ich jetzt ausgegangen von dem was du geschrieben hast. Du hast 
nur geschrieben, dass du die Fuses in Atmel Studio setzt. Du hast nie 
geschrieben, dass du auch den Bootloader in Atmel Studio geflasht hast.
Welchen denn überhaupt?
Arduino IDE nimmt dir doch das ganze Setzen der Fuses etc ab. Warum 
machst du es nicht über die IDE. Dafür gibt es doch die Funktion.

Simon X. schrieb:
> Würde dies bedeuten wen durch ein Programm der IDE der Mikrocontroller
> in Boot Modus versetzt wird, das dies nur ein Mal machbar wäre, weil ja
> ein Reset durchgeführt wird nach dem beenden des Uploads des Sketchs.

Nein, es bedeutet, dass der Mikrocontroller als allererstes mal den 
Programmbereich aufruft, in dem der Bootloader steht. Wenn er dann auf 
dem Flashkanal (hier der UART) nicht z.b. irgendeine bestimmte Sequenz 
(z.b. das 0xF9  - ich weiß nicht was das genau bei dem Bootloader von 
Arduino ist) erkennt, die nur vor dem Flashen eines neuen Sketches von 
der Arduino IDE gesendet wird, dann macht er mit deiner normalen 
Anwendung weiter. Basics of Bootloading. Das musst du also aktivieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.