Hallo Besucher, der Thread wurde 2,7k mal aufgerufen und enthält 4 Antworten

letzter Beitrag von TheRealWanderer am

Probleme beim Flashen eines ATMEGA

  • Gestern (und heute) habe ich versucht einen ATMEGA644 mit einem neuem Bootloader zu flashen.


    Zuerst mal die Ausstattung:
    1. Programmer: Diamex Prog-S2 (https://www.diamex.de/dxshop/U…-STM32-LPC-Cortex-Prog-S2)
    2. Adapter für AVR: Diamex Schwebehenkel-Modul (https://www.diamex.de/dxshop/S…ontroller-im-DIL-Gehaeuse)


    Die Dipschalter des Programmers habe ich auf on-on-off-off (on-on für 5V Programmierspannung, off-off für Amtel-AVR-Controller) gesetzt.


    Zum programmieren benutze ich den AVRDUDE mit der AVRDUDESS GUI und als Programmer ist der Amtel STK500 V2 gewählt (Amtel AVR ISP mkII bzw. V2 sollte auch gehen).
    Das sollte soweit auch in Ordnung sein.


    Jedoch bekomme ich folgene Meldung:

    Code
    1. avrdude.exe: stk500v2_command(): command failed
    2. avrdude.exe: initialization failed, rc=-1
    3. Double check connections and try again, or use -F to override
    4. this check.
    5. avrdude.exe done. Thank you.

    Ich denke, es liegt an der Programmierspannung... Auf jeden Fall komme ich nicht weiter und Dr. Google kann mir auch nicht helfen.


    Hat jemand mal einen Tipp für mich?



    P.S.:
    Wenn ich den Programmer an das PETSD anschließe und das PETSD mit 5 Volt über Netzteil speise, klappt das (mit einem ATMEGA1284). Die Dip Schalter stehen dann natürlich auf 4 x off.


    IMG_4047.JPGIMG_4046.JPG

  • Was mir gerade aufgefallen ist, ist der Atmega so richtig rum im Zip-Sockel? Wenn ich mir nämlich das Bild auf der Homepage des Adapters angucke, dann ist Pin1 nicht da, wo der Hebel ist!

    Edit: Laut Anleitung ist das korrekt so, Pin1 muss immer zum Hebel zeigen und der IC ganz nach "unten" in den Zip-Sockel gesteckt werden.

  • ich hatte mal Probleme beim programmieren mit einen USBasp-Programmer bei frischen AVRs. Das Problem hier war das die Atmegas standardmäßig intern auf 1MHz eingestellt sind und der Programmer für die 1MHz zu schnell war. Eigentlich gibt es bei dem USBasp einen Slow-Modus, den es per Jumper zu setzen gilt. Bei meinen fehlte der Jumper und ich musste da eine Lötbrücke anders setzen und damit hatte es dann funktioniert. Sobald die Fuses damit programmiert waren konnte man wieder im schnellen Modus arbeiten.


    Wie das mit Deinem Programmer geht kann ich leider nicht sagen, aber vielleicht ist es das gleiche Problem und man kann hier vielleicht auch die Programmiergeschwindigkeit runtersetzen.

  • Der Atmega644 war schon mal geflasht und Du versuchst jetzt einen neuen Bootloader drauf zu flashen, ist das korrekt?


    Wenn das Zielsystem mit externem Takt (Quarz) läuft, dann muss auch ein externer Takt beim Flashen dran!

    Soweit habe ich das verstanden, danke :)


    Aber zumindest müsste doch derATMega erkannt werden, oder?


    Der ATmega644 ist übrigens aus dem microSD2IEC1.4. Da war er schon mal geflashed (aber der Bootloader wahrscheinlich nicht).