Eigenes Board mit Arduino programmieren ATmega2560

OP #5903423
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
Angehängte Dateien:
#5903511
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
OP #5903518
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.
#5903547
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?
OP #5903565
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.
#5903647
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
OP #5903742
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.
#5903788
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren