Inhaltsverzeichnis:

So aktualisieren Sie die Firmware auf einem billigen USBasp-Clone - Gunook
So aktualisieren Sie die Firmware auf einem billigen USBasp-Clone - Gunook

Video: So aktualisieren Sie die Firmware auf einem billigen USBasp-Clone - Gunook

Video: So aktualisieren Sie die Firmware auf einem billigen USBasp-Clone - Gunook
Video: Festplatte wird nicht mehr erkannt ⭐️ Reparatur in 20 Sekunden ⭐️ USB-Stick ▪️ SSD ▪️ USB-Laufwerk 2024, November
Anonim
So aktualisieren Sie die Firmware auf einem billigen USBasp-Clone
So aktualisieren Sie die Firmware auf einem billigen USBasp-Clone

Dies ist eine kleine Anleitung zum Flashen neuer Firmware auf einen USBasp-Klon wie meinen. Diese Anleitung wurde speziell für den auf den Bildern zu sehenden USBasp-Klon geschrieben, sollte jedoch mit anderen funktionieren. Die Verdrahtung ist in Schritt 5 dargestellt, in Schritt 9 befindet sich ein TL;DR.

Genießen!

Schritt 1: Das Problem

Das Problem
Das Problem
Das Problem
Das Problem

Avrdude sagt mir, dass der von mir verwendete Programmierer eine veraltete Firmware hat. Der normale Jumper zur Selbstprogrammierung ist auf meinem Board nicht vorhanden. Hier ist, wie Sie das beheben können. Schaltpläne für den USBasp finden Sie unter fischl.de.

Schritt 2: Benötigte Materialien

Du wirst brauchen…

  • Ein Lötkolben
  • Ein Arduino (vorzugsweise Nano)
  • Einige Überbrückungsdrähte
  • Ein PC mit der Arduino IDE und avrdude installiert

Schritt 3: Die Lösung

Die Lösung
Die Lösung
Die Lösung
Die Lösung
Die Lösung
Die Lösung

Damit wir neue Firmware auf den ATmega8 flashen können, müssen wir die Kontrolle über seinen RESET-Pin erlangen. Normalerweise kann ein Jumper auf dem USBasp geschlossen werden, um die Selbstprogrammierung zu ermöglichen, der Hersteller meines Boards hat jedoch keinen mitgeliefert.

Beim ATmega8 ist der RESET-Pin Pin 29, der vierte Pin oben von links. Es ist mit einem 10k Pull-Up-Widerstand auf 5V verbunden. Wir müssen es mit Pin 5 des ICSP-Headers verbinden.

Wir könnten versuchen, einen Draht direkt auf den Widerstand oder den Pin selbst zu löten, dies ist jedoch mühsam und kann Ihre Platine beschädigen. (Ich habe es ausprobiert und den Pull-up-Widerstand abgerissen, ich empfehle es nicht) Außerdem gibt es einen viel einfacheren Weg!

Einen echten Jumper zur Selbstprogrammierung hat der Hersteller zwar nicht beigelegt, aber einen Header unter den Mikrocontroller gelegt. Wir können einfach einen Draht quer verlöten und…

Schritt 4: Voilà

Voilà!
Voilà!

Wir haben die beiden Reset-Pins verbunden! Die beiden Löcher auf der Unterseite verbinden Pin 29 und Pin 14 des Mikrocontrollers.

Schritt 5: Einrichten des Arduino

Um die neue Firmware auf den Programmierer zu flashen, benötigen wir einen weiteren Programmierer, in diesem Fall einen Arduino mit der ArduinoISP-Skizze darauf. Um sicherzustellen, dass Ihr Setup gleich ist, entkommentieren Sie bitte die Zeile 81

// #define USE_OLD_STYLE_WIRING

Verbinden Sie nun den Arduino mit dem ICSP-Header Ihres Programmierers.

Arduino USBasp

5V Pin 2 (VCC) GND Pin 4/6/8/10 (GND) Pin 10 Pin 5 (Reset) Pin 11 Pin 9 (MISO) Pin 12 Pin 1 (MOSI) Pin 13 Pin 7 (SCK)

Der USBasp bleibt vom PC getrennt.

Öffne ein Terminal und tippe ein

avrdude -cavrisp -pm8 -b19200 -P[Ihre Portnummer steht hier, sie sollte die gleiche sein wie in der Arduino IDE]

Wenn alles gut geht, sollte avrdude einige Informationen zum ATmega8 ausdrucken (Sicherungen, Signatur, etc.)

Schritt 6: Flashen des ATmega8

Zum Flashen des Chips benötigen wir noch die Firmware. Gehen Sie zu fisch.de und laden Sie die neueste Version herunter. Entpacken Sie das Archiv und navigieren Sie mit der Shell dorthin.

Das Kompilieren des Codes hat bei mir nicht funktioniert, aber zum Glück enthält das Archiv alle kompilierten Programme unter

bin/firmware

Hier sollten Sie drei.hex-Dateien sehen. Wählen Sie den mit dem gleichen Namen wie Ihr Chip. Mein Programmierer verwendet einen ATmega8, also habe ich ausgewählt

usbasp.atmega8.yyyy-mm-dd.hex

Bei einer funktionierenden Verbindung zum ATmega8 sollte das Flashen nur Tippen erfordern

avrdude -cavrisp -pm8 -b19200 -P[PORT] -U flash:w:[hex-Datei]

Wenn alles richtig gemacht wurde, sollte avrdude die ausgewählte Firmware schreiben und überprüfen.

Schritt 7: Sicherstellen, dass der Programmierer funktioniert

Sicherstellen, dass der Programmierer funktioniert
Sicherstellen, dass der Programmierer funktioniert

Um den USBasp wieder als Programmierer zu nutzen, müssen wir die Verbindung zwischen Pin 29 und Pin 14 entfernen. Den Jumper an der Unterseite abzuschneiden sollte genügen, aber auch das Entfernen kann nicht schaden.

Sie können es ausprobieren, indem Sie es wieder an den PC anschließen und eingeben

avrdude -cusbasp -pm8

Auch wenn avrdude das Ziel nicht erreichen kann, sollte es zumindest die neue Firmware unseres Programmierers zur Kenntnis nehmen.

Schritt 8: Fehlerbehebung

Fehlerbehebung
Fehlerbehebung

Sollte avrdude einen solchen Fehler anzeigen, hat dies wahrscheinlich etwas mit der Auto-Reset-Funktion des Arduino zu tun. Um dies zu umgehen, fügen Sie bitte einen Kondensator zwischen RESET und GND des Arduino hinzu. Es wird allgemein empfohlen, einen 10µF-Kondensator zu verwenden, aber in meinem Fall hat ein 100µF-Kondensator gut funktioniert.

Sollten Sie einen Fehler erhalten wie

avrdude: error: Programmfreigabe: Ziel antwortet nicht. 1

oder eine ungültige Signatur zurückgegeben wird, überprüfen Sie bitte Ihre Verkabelung. Ich hatte ein Problem mit meinen Stromkabeln, die rosten und keinen Strom mehr leiten. Ich empfehle, alle Jumperdrähte vorher zu überprüfen.

Stellen Sie außerdem sicher, dass Sie Pin 11 und Pin 12 am Arduino vertauschen, wenn das Problem weiterhin besteht.

Bitte achten Sie auch darauf, die richtige Baudrate für den Arduino als ISP, 19200 einzustellen. Sie kann mit der Option. eingestellt werden

-b19200

Wenn Sie Fragen haben oder einen Fehler entdeckt haben, lassen Sie es mich bitte wissen:)

Schritt 9: TL; DR

  1. Löten Sie einen Draht über die beiden Stifte auf der Unterseite der Platine
  2. Richten Sie einen Arduino als ISP ein und stellen Sie sicher, dass das alte Verdrahtungsschema aktiviert ist
  3. Verbinden Sie den Arduino über den ICSP-Header mit dem Programmierer
  4. Flashen Sie die neue Firmware auf das Programmiergerät
  5. Entfernen Sie die Verbindung auf der Unterseite
  6. Ziehen Sie keine SMD-Widerstände ab

Empfohlen: