Hallo zusammen,
ich habe hier ein altes ausgeschlachtetes 3D-Drucker Board "Geeetech
GT2560", was sich wegen der Schrittmotortreibervorbereitung für ein
aktuelles Projekt von mir eignen würde.
Im Grunde ist es ein Arduino Board mit einem ATmega2560 und
entsprechendem Bootloader.
Leider bekomme ich die Hex nicht mit AVRDUDE auf den Controller.
Geflasht werden muss der Chip mit dem STK500v2 Protokoll. Wähle ich
hierzu den Programmer "wiring" (in AVRDUDE), kann ich zwar die
Chipkennung auslesen...
1
>>>:avrdude.exe-cwiring-PCOM3-b57600-pm8
2
Detected1e9801=ATmega2560
...aber nicht nicht den Flash-Speicher programmieren:
Ich habe es auch mal mit der Arduino-IDE probiert, auch die kann ihn
nicht flashen. Die Fehlermeldungen sind anders...es kommt hier dieser
typische "not in sync"-Fehler, der mit AVRDUDE auch beim STK500v1
Protokoll kommen würde. Den Reset-Knopf zeitpassend zum Flashen
loslassen, funktioniert hier in diesem Fall nicht als Workaround.
Komischerweise geht mit Bascom alles einwandfrei, wenn ich den Arduino
STK500v2 Programmer wähle. Der Chip wird erkannt und kann auch das mit C
erstellte Programm rüberflashen.
Ich würde hier aber gerne Bascom rauslassen...auch ist es etwas
umständlich, während der Programmentwicklung die C-Kompilate ständig
über Bascom zu flashen.
Das Programm würde ich gerne in C schreiben, nicht in dem Arduino-C++
und nicht in Bascom.
Hätte vielleicht jemand einen Tip, was ich falsch mache? Per ISP kann
ich das Teil leider nicht bespielen...dazu fehlen die Anschlüsse.
Andi schrieb:> -b 57600
-b115200 -v
Andi schrieb:> Ich habe es auch mal mit der Arduino-IDE probiert, auch die kann ihn> nicht flashen. Die Fehlermeldungen sind anders.
Wenn es mit der Arduino IDE nicht geht, hast du ein "tieferes" Problem,
welches du mit AVRdude Parametern nicht beheben kannst.
Danke für den Hinweis, das mit der ISP-Möglichkeit über den SD-Card
Anschluss habe ich glatt übersehen. Sebastian, vielen Dank für den
Auszug aus dem Schaltplan.
Jetzt wollte ich es mal ausprobieren und bekomme es aber leider wieder
nicht hin. Verwendet habe ich den Atmel-ICE...sowohl mit AVRDUDE, als
auch mit Microchip-Studio bekomme ich keine Verbindung zum Controller
bzw. kann die Signatur nicht auslesen. Der Programmer misst lediglich
0,3-0,5 V an der Platine.
Kennt sich jemand mit dem Atmel-ICE aus? Bisher verwendete ich lediglich
den ISP-Adapter für die standardisierte ISP-Pfostenbuchse. In diesem
Fall sind die ISP-Anschlüsse ja anders auf der SD-Buchse verteilt, so
habe ich den anderen Adapter verwendet...ich nehme schon an, dass die
aufgedruckten Ziffern dem entsprechenden Pin eines ISP-Anschluss
entsprechen?! :)
Die Platine habe ich natürlich auch mit Strom versorgt.
Ebenso habe ich für VCC den Pin 1 des daneben liegenden LCD-Anschlusses
probiert.
Hättet ihr noch einen Rat für mich?
Andi schrieb:> ...ich nehme schon an, dass die> aufgedruckten Ziffern dem entsprechenden Pin eines ISP-Anschluss> entsprechen?!
Ich habe es gerade noch mit einem AVRISP mkII probiert, bei dem ich die
Belegung des Adapters sicher kenne. Ebenso ohne Erfolg, er sagt sogar
0,0 V.
So, es funktioniert jetzt :)
Falls jemand mitliest und zufällig das gleiche Board hat...die
Pfosten-Buchsen sind (zumindest bei mir) falsch herum aufgelötet. So
habe ich die Pins natürlich vertauscht.
Draufgekommen bin ich über dieses Video:
https://www.youtube.com/watch?v=yVgReNF1KQA
Andi schrieb:> ich nehme schon an, dass die> aufgedruckten Ziffern dem entsprechenden Pin eines ISP-Anschluss> entsprechen?! :)
Die entsprechen der Nummer im Flachbandkabel. 1 ist mit einem roten
Streifen markiert.
Wie sieht denn Dein sonst genutzter ISP-Adapter aus? Dein Atmel-ICE hat
ja kein Flachbandkabel in 0.05"-, sondern eins im 0.025"-Raster, so daß
es mit entsprechender Schneidklemmbuchse auf Stiftleisten im 0.05"-
statt des üblichen 0.1"-Raster passt.
Dazu gehört also sowieso ein Adapter. Sieh Dir den mal genau an ...
Andi schrieb:> Ebenso ohne Erfolg, er sagt sogar 0,0 V.
Kannst du denn am Pin 1 ohne angeschlossenen Programmer
(Atmel ICE) die 3.3V nachweisen (Voltmeter)? Und mit
Programmer (Messung mit Voltmeter) bricht die Spannung
dann ein? Dann hast du ein Verkabelungs-Problem.
Wir haben jetzt zeitgleich geschrieben, den Fehler konnte ich
zwischenzeitlich finden (steht weiter oben geschrieben).
Harald, im Anhang ein Foto vom üblichen ISP-Adapter des Atmel-ICE.
Um das ganze noch zu vervollständigen...
Ich habe jetzt den Bootloader über die Arduino-IDE mittels des AVRISP
mkII neu geflasht, dass wieder alles Arduino-Konform ist.
Geändert hat sich jetzt, dass ich den Controller über 115200 baud
anstatt 57200 baud ansprechen kann. Damit meine ich, dass ich über
AVRDUDE zumindest bei 115200 baud die Signatur auslesen kann. Das
Flashen (über USB/Bootloader) hat zunächst wieder nicht mit AVRDUDE
geklappt. Ein Beispielprogramm über die Arduino-IDE konnte ich jedoch
flashen (nutzt ja ebenso AVRDUDE)...diese nutzt 115200 baud für den 2560
(wohl der Grund, warum es vorher nicht klappte).
Dabei ist mir aufgefallen, dass die Arduino-IDE zusätzlich den
Kommandozeilenparameter "-D" verwendet, um den Flash-Speicher NICHT zu
löschen.
Mit diesem Parameter funktioniert es jetzt auch außerhalb der
Arduino-IDE, also pur mit AVRDUDE bzw. AVRDUDESS (was ich verwende).
Es ist also alles gelöst und das Projekt kann anlaufen :)
Falls noch jemand eine Info hätte (rein zum Verständnis), wieso man den
Flash-Speicher beim ATmega2560 nicht löschen sollte bzw. was da mit und
ohne dem Parameter "-D" genau passiert, würde mich freuen.
Ich habe zwar eine Beschreibung für diesen Parameter gefunden, werde
aber daraus nicht wirklich schlau. So wie ich das verstehe, sollte der
"-D" Parameter eigentlich nicht verwendet werden :)
1
-D
2
Disable auto erase for flash. When the -U option with flash memory is specified, avrdude will perform a chip erase before starting any of the programming operations, since it generally is a mistake to program the flash without performing an erase first. This option disables that. Auto erase is not used for ATxmega devices as these devices can use page erase before writing each page so no explicit chip erase is required. Note however that any page not affected by the current operation will retain its previous contents.
Andi schrieb:> Der Programmer misst lediglich> 0,3-0,5 V an der Platine.
Logisch, ohne Stromversorgung
> Die Platine habe ich natürlich auch mit Strom versorgt.
Davon sehe ich nichts,
Tue dir und uns allen einen Gefallen: Zeige echte Fotos vom Aufbau,
keine irreführenden Fake-Fotos.
Sherlock 🕵🏽♂️ schrieb:> Logisch, ohne StromversorgungSherlock 🕵🏽♂️ schrieb:> Davon sehe ich nichts,>> Tue dir und uns allen einen Gefallen: Zeige echte Fotos vom Aufbau,> keine irreführenden Fake-Fotos.
Dann tue dir und uns allen bitte ebenso den Gefallen, die Fotos genauer
anzusehen und den geschriebenen Text zu verinnerlichen, bevor du eine
solche Formulierung verwendest.
Die Fotos sind natürlich echt und waren der tatsächliche Aufbau. Wenn du
das sogenannte Fake-Foto genauer angesehen hättest, wirst du auch sehen,
dass unter der Platine noch eine Stromleitung hervorkommt. Da ich den
Stecker für die offizielle Buchse aktuell nicht da habe, habe ich
vorübergehend für Tests eine Ersatzleitung angelötet. Ja, auf dem Foto
hatte ich leider das Netzteil ausgesteckt, daher leuchtet keine
LED...das Foto diente jedoch lediglich dazu, um den Anschluss der
nummerierten Stecker zu zeigen. *Ich habe es aus diesem Grund explizit
dazu geschrieben, dass ich es mit Strom versorgt habe.*
Wie du sicherlich auch gelesen hast, hat sich das ganze auch aufgeklärt.
Wastl hatte den richtigen Riecher, der Fehler lag am Board...die Pegel
haben gar nicht gepasst.
Wer hätte gedacht, dass die ganze Buchse verdreht aufgelötet ist, wenn
in früherer Anwendung die Funktion mit Display und SD-Kartenleser
funktioniert hat...auf den separaten Komponenten waren die Buchsen
wahrscheinlich auch verkehrt herum.
Andi schrieb:> Im Grunde ist es ein Arduino Board mit einem ATmega2560 und> entsprechendem Bootloader.Andi schrieb:> Falls noch jemand eine Info hätte (rein zum Verständnis), wieso man den> Flash-Speicher beim ATmega2560 nicht löschen sollte bzw. was da mit und> ohne dem Parameter "-D" genau passiert, würde mich freuen.Beitrag "Re: Bootloader auf Attiny85 jedesmal neu brennen?"