Top Antwort.
Habs ca 2 min vor lesen deiner Antwort auch gelöst. Mein Nachbau wird auch über die DTR Leitung resettet, die allerdings nicht durch avrdude mit der stk500v2 Einstellung bespaßt wurde. - Ist ja jetzt auch logisch -
Da stellt sich mir ja die Frage warum die IDE dann das DTR seperat macht und dann den stk500 benutzt wenn es doch gleich den arduino als option nehmen könnte. oder liegts daran das ich hier version 018 habe ?
Ich schreibe hier noch kurz einige Infos, damit jemand der googlet vielleicht auch mit meiner Lösung etwas anfangen kann:
Anfangs habe ich mit der Arduino IDE den ATmega2560 Bootloader gebrannt, dann dort meine Sketches hochgeladen. Kleine Programme liefen damit sofort per IDE. Größere sind immer bei 97% des Uploads abgestürzt.
Ich habe dann nach viel Suchen auf dieser Seite (
http://www.cbxdragbike.com/arduino/bootloaderdocs/index.html ) einen anderen Bootloader gefunden.
Mit diesem konnte ich die Programme mit beliebiger Größe erfolgreich hochladen. Den Bootloader habe ich noch etwas umgeschrieben und nutze ihn nun sehr erfolgreich auf meinem m2560. Da der Autoreset nicht geklappt hat und ich den stk500v2 nicht mehr nutzen konnte ( der Bootloader spielt scheinbar nur mit dem stk500 ) habe ich die Datei unter /usr/bin/avrdude nach /usr/bin/avrdude.orig verschoben, eine Datei namens /usr/bin/avrdude.reset anlegegt in der nun folgendes steht:
#!/usr/bin/perl -w
use Device::SerialPort;
use FindBin qw($Bin);
foreach (@ARGV)
{
if ($_ =~ /-P(\/dev\/.+USB.+)/)
{
print (STDERR "Resetting DTR on " . $1 . "\n");
Device::SerialPort->new($1)->pulse_dtr_on(100);
last;
}
}
select(undef, undef, undef, 0.1);
dann eine Datei unter /usr/bin/avrdude mit dem inhalt
avrdude.reset $1 $2 $3 $4
avrdude.orig $1 $2 $3 $4
erstellt.
damit ich als user den Usb port bespaßen konnte noch ein
sudo usermod -aG dialout <myuser>
und "schon" kann ich meinen ArduinoMega2560 verschnitt aus Eclipse bedienen.
Vielleicht noch also kleine Frage am Rande:
Kennt jemand das Problem mit dem Bootloader ? Also das Sketches die schon etwas größer sind ~90kB nicht hochgeladen werden können?
Der verlinkte Bootloader kann zur zeit auch nur 128K, da werde ich mich jetzt mal dransetzten, das auch die anderen 128K benutzt werden können, aber warum gehts mit dem Arduino Bootloader nicht ... merkwürdig ..
Es wäre schon cool den Originalen zu nutzen, da der immerhin doppelt so schnell läuft, allerdings könnte auch genau dies Quell allen Übels sein und timingprobleme verursachen ..