PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Flashen mit dem FTDI Breakout Reloaded von Watterott



fabqu
06.04.2013, 17:43
Hallo allerseits,

ich habe hier ein Arduino Mini Pro, welches auf 3,3V läuft. Zum Flashen habe ich leider nur USB-Inerfaces mit 5V.
Jedoch habe ich auch ein USB-RS232-Breakout von Watterott, mit dem man auf 3,3V umstellen kann, um Kommunikation zu ermöglchen (Rx, Tx) .
http://www.watterott.com/de/FTDI-Breakout-Reloaded-V11

Kann ich mit dem denn auch via ISP programmieren?

Danke euch und grüße

oderlachs
06.04.2013, 18:23
Natürlich kannst Du mit ISP, musst nur dir die Anschlüsse suchen... geh auf die Arduino.cc Webseiten da ist alles beschrieben, ich flashe nur per USB/Serial, der Einfachheit wegen

Gerhard

fabqu
06.04.2013, 21:18
Ah, danke. Sollte klappen ;)

Torrentula
07.04.2013, 08:17
Kann ich mit dem denn auch via ISP (http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel) programmieren?

Per ISP kommst du damit nicht ran, es ist ja nur ein Konverter für die Serielle Schnittestelle auf USB.


Arduino Mini Pro

Den ATmega auf dem Pro Mini kannst du nur über dieses Teil flashen, weil darauf ein Bootloader läuft. Das ist ein kleines Programm was vor dem eigentlichen Hauptprogramm läuft und beim Flashen per avrdude die Daten entgegennimmt und diese dann in den Programmspeicher schreibt (der Bootloader liegt in einem reservierten Programmspeicherbereich und wird deswegen nicht selber überschrieben, es sei denn du benutzt einen wirklichen ISP Programmer).

fabqu
07.04.2013, 10:38
Ah! Danke. Dann hab ich endlich diesen Teil kapiert ;)
das heißt ich flashe dann quasi via rx/tx?

Torrentula
07.04.2013, 11:01
das heißt ich flashe dann quasi via rx/tx?

Richtig, der Bootloader "horcht" nach einem Reset auf der RX Leitung und wartet dann darauf, dass Daten gesendet werden, wenn dann innerhalb eines bestimmten Zeitraumes nichts kommt, springt der Controller zum Hauptprogramm.
Avrdude (das Programm welches die Arduino IDE benutzt, um zu flashen) sendet dem Bootloader die Daten über die Serielle Schnittstelle in dem Format wie es der Bootloader erwartet und verarbeiten kann.

Auch sendet der Bootloader Informationen an avrdude, nämlich auf welchem Chip er läuft, welches Protokoll er für den Datenaustausch erwartet (im Fall von Arduino das STK500v2 Protokoll, STK500 ist ein Entwicklungsboard von Atmel) etc.

fabqu
07.04.2013, 11:19
Super, danke dir!
noch eine frage: ist es möglich, aus Versehen den bootloader zu löschen, wenn man via ISP programmiert hat? Dann nimmt man ja keine Rücksicht auf schon vorhandene Programme, oder?

Torrentula
07.04.2013, 11:28
Ja, wenn du dem Programmer nicht sagst, dass vor den Daten die er schreiben soll noch einen Teil im Programmspeicher unberührt lassen soll (der Teil wo der Bootloader liegt), dann überschreibst du den Bootloader, hast allerdings beim Arduino auch 1kB mehr Programmspeicher.
Mehr Infos über Bootloader gibts hier: http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung

fabqu
07.04.2013, 11:32
Perfekt!
Damit sollte alles klappen ;)
Danke dir