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
Hat denn das Flashen des Bootloaders funktioniert ?
Anfänger verbinden oft Tx mit Tx und Rx mit Rx. Das wäre nicht so gut.
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.
Ja das Atmel Studio hat dies korrekt programmiert und wird auch korrekt wieder gelesen.
und wie stellt man die richtige Baudrate ein bei dem FTDI232? bzw. wo her weiss ich wie viel das Arduino Studio macht.
Simon X. schrieb: > wo her weiss ich wie viel das Arduino Studio macht. Dem ist das wurscht. Der Bootloader braucht eine definierte Baudrate.
Simon X. schrieb: > wie stellt man die richtige Baudrate ein bei dem FTDI232? Geräte-Manager --> Anschlüsse --> dein_FT232_Port --> --> Anschlusseinstellungen
Und warum flashst du den nicht komplett mit ISP ?
Oke also dem ist das egal und wie sehe ich was für eine Baudrate in dem Hex file enthalten ist.
Ich möchte nur noch mit dem Arduino Studio den flashen und nicht einen externen programmer dafür nehmen.
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).
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?
Simon X. schrieb: > Aber ohne erfolg den AVR zu programmieren. Wie ist der Reset des 2560 beschaltet?
Simon X. schrieb: > Benutze ich ev. den falschen programmer im Arduino Studio? Probier doch einfach alle durch.
Simon X. schrieb: > Benutze ich ev. den falschen programmer im Arduino Studio? Die Boot Fuses des 2560 müssen auch noch gesetzt werden ....
Dies ist die Schaltung beim Reset des Atmega2560
Und noch zur Ergänzung/Korrektur der clock divider /8 wurde entfernt.
Simon X. schrieb: > Fuses wurden ebenfalls gesetzt. Simon X. schrieb: > der clock divider /8 wurde entfernt. Dann fällt mir nichts mehr ein.
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
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.
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?
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.
löst der reset vom FTDI232R beim upload aus? eventuell manuell den mega reseten beim upload. reicht vielleicht die stromversorgung vom usb nicht aus?
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
Laut dem Screenshot ist BOOTRST nicht gesetzt und dadurch wird der Bootloader nach einem Reset nicht ausgeführt.
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.
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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.