Forum: Mikrocontroller und Digitale Elektronik USBasp Firmware wie aktualisieren


von Steffen P. (steffen_p)


Angehängte Dateien:

Lesenswert?

Hallo,

ich wollte gerade eben mit meinem USBasp einen yC flashen als mir meine 
Arduino IDE folgendes gemeldet hat:

avrdude: warning: cannot set sck period. please check for usbasp 
firmware update

Jetzt habe ich gegoogelt und auch was gefunden aber ich habe Probleme 
bei dem Versuch die Firmware zu aktualisieren. Ich verwende 2 USBasp für 
den Vorgang. Sobald ich den Befehl avrdude -c usbtiny -p atmega8 -u -U 
hfuse:w:0xc9:m -U lfuse:w:0xef:m eingebe bekomme ich Fehlermeldungen 
(siehe Bild). Was mache ich falsch?

von Stephan H. (stephan-)


Lesenswert?

ich denke deine Boards Datei stimmt nicht..

von Steffen P. (steffen_p)


Angehängte Dateien:

Lesenswert?

Ich bekomme auch eine Fehlermeldung wenn ich versuche den USBasp über 
mein Arduino Uno auslese.
Ich bin wie in der Anleitung 
[[http://www.rogerclark.net/updating-firmware-on-usbasp-bought-from-ebay/]] 
vorgegangen.

von Εrnst B. (ernst)


Lesenswert?

avrdude neu installieren, oder zumindest das kaputte Config-File durch 
die Originalversion ersetzen.

Dann, wenn deine Beiden USBaspe schon funktionieren, musst du 
normalerweise die Fuses nicht neu schreiben, das firmware-Hex-File 
reicht.

Prüfen, ob wirklich ein atmega8 auf dem Ziel-USBasp ist, kein Mega48, 
mega88, mega168 usw.

Beide Programmer mit einem 8-Poligen Kabel 1:1 verbinden.

Am Ziel-Programmer den "Update-Enable-Jumper" setzen oder die dafür 
vorgesehenen Lötpads/Vias verbinden.

neue Firmware programmieren.

von Steffen P. (steffen_p)


Lesenswert?

Ich verwende das AVRdude aus der Arduino IDE und habe mal die Conf aus 
dem originalen Verzeichnis von AVRdude gegen die der IDE getauscht.

Ich habe einen mega8a auf dem Ziel.

ich habe einen Adapter von 6 auf 10 Pole da ich das ganze über einen 
Arduino Uno versuche.

Der Jumper ist gesetzt.

Bekomme trotzdem den Fehler "Yikes!"

von Steffen P. (steffen_p)


Lesenswert?

Ok, habe jetzt eine direkte Verbindung vom Uno zum USBasp gemacht und 
jetzt geht das ganze. Ich dachte, ich könnte über den Onbaord ISP 
Anschluss des Uno gehen.
Trotzdem danke für eure Hilfe!

von DAVID B. (bastler-david)


Lesenswert?

EHM hast du Durch Zufall noch das Originale Firmware Paket ? für atmega8
Nach dem ich meine 2,99€ teile auf die neuste Version (2014) geflasht 
habe muss ich sagen das diese nahezu unbrauchbar geworden sind.

Die meisten Chips werden nicht mehr erkannt Oder nur spontan mal 
beschreiben.
Bis ich mir zu weihnachten selber einen neuen vernünftigen programmer 
selber schenken kann dauers noch paar tage.

von batman (Gast)


Lesenswert?

Das wird wohl an was anderem liegen. Hast du mit avrdude auch mal den 
Takt runtergestellt, z.B. -B 4.

von DAVID B. (bastler-david)


Lesenswert?

Ich muss zugeben mit avrdude hatte ich noch nie was zu tun.
Die einzigste Einstellmöglichkeit was takt an geht ist der CPU takt 
diesen kann ich aber erst brennen wenn der Chip das aufspielen 
ermöglichtet.

Na gut wie dem auch sei die versionen von:
http://www.fischl.de/usbasp/
habe ich ALLE durch getestet keine ist richtig brauchbar.
für mein model:
http://www.robotshop.com/letsmakerobots/files/field_primary_image/usbaspver2.jpg?

von batman (Gast)


Angehängte Dateien:

Lesenswert?

Wozu hast du dann die neue Firmware geflasht, wenn du die Transferrate 
des Brennens (nicht CPU-Clock) nicht einstellen willst/kannst. Das muß 
nun die Brenn-Software machen, per Kommando über USB an den USBasp. Ich 
weiß nicht, welche du verwendest.

Anbei eine Datei unbekannten Inhalts aber vom Titel konnte sie passen. 
:)

von DAVID B. (bastler-david)


Lesenswert?

Diese Version verwende ich zurzeit schon !
Eben woll ich die alte nicht gesichert habe MEIN Fehler.

Ich habe die arduino ide und die teilte mir mit ich solle den usbasp 
aktualisieren weil veraltet:

(avrdude: warning: cannot set sck period. please check for usbasp
firmware update.

da ich nicht in der Lage war einen 644 zu beschreiben habe ichs 
versucht.
und es geht immer noch nicht.

: Bearbeitet durch User
von batman (Gast)


Lesenswert?

Die Arduino ruft avrdude zum Brennen. Ich weiß aber leider nicht, wie 
man da eine Bitclock-Option (-B) einhängt.

Btw. gibts einen billigen Arduino-Clon mit 64k AVR?

von DAVID B. (bastler-david)


Lesenswert?

Der größte mir bekannte ist der mega2560.
Zum brennen habe ich das tool (Khazama AVR Programmer) genutzt die 2 
usbasp,s verbunden und die hex Datei geladen und auf auto geklickt.
da ich den usbasp mit keinen andern Tool ansprechen konnte was ich grade 
hatte.
Ob es was an den Sicherungen dreht oder takt ändern weiß ich nicht.

von Gerald B. (gerald_b)


Lesenswert?

batman schrieb:
> Btw. gibts einen billigen Arduino-Clon mit 64k AVR?

Es gibt noch den ATMEGA1284. Mit dem gibt es wohl auch einen Arduino 
Clone und auch einen Bootloader, aber meines Wissens nichts aus China 
oder im Massenmarkt.

Beitrag #5222939 wurde von einem Moderator gelöscht.
von Paul B. (paul_baumann)


Lesenswert?

Es gibt auch die Möglichkeit, aus dem USBasp einen AVR-DOPER zu machen. 
Eine für die USBasp Hardware angepasste Version findet man da:

https://www.obdev.at/products/vusb/avrdoper.html

Damit hatte ich noch nie Schwierigkeiten -im Gegensatz zum 
Originalprogramm.

MfG Paul

von batman (Gast)


Lesenswert?

Welche Schwierigkeiten?

von Paul B. (paul_baumann)


Lesenswert?

batman schrieb:
> Welche Schwierigkeiten?

Solche z.B:

Steffen P. schrieb:
> avrdude: warning: cannot set sck period. please check for usbasp
> firmware update

MfG Paul

von batman (Gast)


Lesenswert?

Hmm, eine bloße Warnung von avrdude, die nach dem Firmwareupdate auch 
weg ist.

von DAVID B. (bastler-david)


Lesenswert?

keiner mehr die Originale Firmware ?
Ich habe mit der alten Firmware Chips beschreiben und das klappte super.
Jetzt kann ich mit der neuen Version nur noch einen kleinen teil der 
zuvor beschriebenen beschreiben Chips mehr lesen/ändern.

Der verlinkte Artikel von AVR-Doper geht scheinbar leider nicht um 
atmega 8 Chips :-(

Habe jetzt mal den Verkäufer angeschrieben hoffentlich verstehen die was 
ich will.

(deutsch > englisch - Englisch > deutsch)

von Gerald B. (gerald_b)


Lesenswert?

DAVID -. schrieb:
> keiner mehr die Originale Firmware ?

Doch, der eigentliche Entwickler ;-)
http://www.fischl.de/usbasp/
Dort sind alle Versionen als Archiv zum Download. Auch wenn TAR ein 
Linuxformat ist, kannst du es mit WinRAR entpacken. Ich denke, das das 
nicht allein das Problem der FW auf dem USBasp ist.
Die Arduino IDE bringt ab und zu auch mal einen neuen Compiler oder ein 
neueres AVRdude mit, Java aktualisiert sich...
Und ab und zu kommt dann ein unverdauliches Gebräu dabei raus.
Lade dir mal eXtreme Burner runter, das kann auch mit dem USBasp Stick 
umgehen. eXtreme Burner ist mehr im Stile der Software von 
Programmiergeräten (EPROM-Brennern) Ein Hex-Editor mit drei Reitern für 
FLASH, EEPROM und Fuses. Die kann man einzeln oder zusammen lesen, 
speichern schreiben und verifizieren. Bei einer falschen Chip-ID warnt 
er, macht aber bei pos. Bestätigung weiter.

von DAVID B. (bastler-david)


Lesenswert?

Ok danke eXtreme Burner nutze ich seit langer zeit auch schon damit ist 
das Fehlerbild aber gleich.
Versucht einzuschalten (power ON) dann 10 mal Fehler und wieder Power 
Off)

Und die Versionen habe ich wie gesagt ALLE durch getestet ändert sich 
nix.

: Bearbeitet durch User
von Paul B. (paul_baumann)


Lesenswert?

DAVID -. schrieb:
> Der verlinkte Artikel von AVR-Doper geht scheinbar leider nicht um
> atmega 8 Chips :-(

Na sicher!
Die Datei heißt "avr-doper-mega8-12mhz.hex" und befindet sich im 
Download-Bereich z.B. in "AVR-Doper-2012-12-08.zip"

MfG Paul

von batman (Gast)


Lesenswert?

Der extremeburner kann auch nicht die Taktrate (Bitclock) des USBasp 
setzen und läuft immer mit einer Zufallsrate. Ja nach Fuse und Chip 
klappts dann mal oder auch nicht. Nimm avrdude und rtfm.

von Oliver J. (skriptkiddy)


Angehängte Dateien:

Lesenswert?

Diese Firmware flashe ich immer in die China clones.

usbasp.2011-05-28 (nutzt vusb-20121206)

Die läuft mit avrdude bestens. Auch das setzen des ISP-Taktes mit -B 
funktioniert.

Grüße Oliver

von DAVID B. (bastler-david)


Lesenswert?

wie oder wann setzt man bei eXtreme Burner den ISP takt ?
bevor die hex Datei übertragen wurde oder danach ?

von DAVID B. (bastler-david)


Lesenswert?

Ok hat sich ERLEDIGT !
Es war einfacher wie gedacht.
Ich musste nur den low ISP mode nutzen (JP3) zusammen gelötet und schon 
gehen alle ICs sogar die neuen atmega 8 die zuvor nicht wollten.
Das aufspielen dauert zwar deutlich länger aber ist ok wenns dafür geht.

von Werner B. (stappe)


Lesenswert?

wo finde ich eine Anleitung zum flashen der firmware?

von Axel S. (a-za-z0-9)


Lesenswert?

Werner B. schrieb:
> wo finde ich eine Anleitung zum flashen der firmware?

Die hängt davon ab, was für eine usbasp-Hardware du hast (es gibt 
Dutzende). Bei den meisten gibt es einen Jumper "prog" oder "selfprog", 
der dafür geschlossen werden muß (er verbindet RESET am ISP-Stecker mit 
RESET des µC auf dem usbasp). Dann den usbasp am ISP-Stecker 1:1 mit 
deinem anderen ISP-Adapter verbinden und den µC auf dem usbasp flashen 
wie jeden anderen µC auch. Vorher natürlich mal schauen, welcher µC denn 
auf deinem usbasp drauf ist. Auch da gibt es mehrere Varianten und du 
mußt die passende Firmware verwenden.

von Gerald B. (gerald_b)


Lesenswert?

Da ich ohnehin 3 oder 4 USBasp's habe, flashe ich den einen mit dem 
anderen.Das geht wunderbar. Ist auch gut, falls sich mal einer tot 
stellt. Einer hängt z.B. permanent an einem Pogo-Pin Adapter, einer an 
einer Aufsetzzange für SO8 Gehäuse und einer an einem 32 pol. SMD 
Clamp-Shell Adapter.

von Werner B. (stappe)


Lesenswert?

Vielen Dank, ich habe es geschafft mit zwei USBASP (einer mit 
Programmier-Jumper) mit der fischl 2011 Version zu flashen. Leider ging 
danach nicht einmal mehr die Erkennung des ATMEGA8 auf meinen Testboard. 
Danach habe ich den Inhalt eines Baugleichen USBASP ausgelesen und den 
Verbrannten zurückgeflasht und welch ein Wunder er lief wieder aber 
BASCOM bringt natürlich die selbe Meldung dass ich die Firmware erneuern 
soll.
Dann war ich mutig und habe auch die "main.hex" von Oliver ausprobiert.
Da lief auch nichts mehr. Also habe ich die alte Firmware die ich mir 
zwischenzeitlich als HEX-File abgelegt habe zurückgeflasht und habe 
wieder einen funktionfähigen USBASP der halt die Meldung dass ich die 
Firmware erneuern soll bringt. Nach dieser Erfahrung kann mir vieleicht 
jemand helfen eine Firmware zu finden die läuft und keine Meldung mehr 
bringt.
Im voraus vielen Dank.

von Axel S. (a-za-z0-9)


Lesenswert?

Werner B. schrieb:
> Nach dieser Erfahrung kann mir vieleicht
> jemand helfen eine Firmware zu finden die läuft

Nicht ohne daß du sagst, welcher µC auf deinem usbasp steckt. Die gibt 
es mit ATmega8, ATmega88, ATmega48 und vielleicht noch anderen. Und 
eventuell ist es ja sogar eine leicht modifizierte Schaltung (verwendet 
andere Pins als das Original) mit daraufhin angepaßter Firmware.

von Einer K. (Gast)


Lesenswert?

Werner B. schrieb:
> BASCOM bringt natürlich die selbe Meldung dass ich die Firmware erneuern
> soll.
Ja und...

Tipp:
Das ist keine Bascom Meldung, sondern eine des AVRDude

Läuft auch mit der alten Firmware.
Nur für ganz langsamen Takt muss man dann den LowSpeed Jumper auf dem 
USBasp setzen.
Die moderne Firmware kann den Speed mit dem AVRDude Parameter -B 
justieren

Preisfrage:
Nutzt deine Bascom Version überhaupt den -B Parameter.
Wenn nicht, kann das für AVR mit 1MHz Auslieferungszustand ins Auge 
gehen.

von Werner B. (stappe)


Lesenswert?

Es ist der ATMEGA8A.

von Werner B. (stappe)


Lesenswert?

Wo kann ich das einstellen???

von c-hater (Gast)


Lesenswert?

Werner B. schrieb:

> Wo kann ich das einstellen???

Frag' das den Support von diesem BASCOM-Kram. Der sollte das wissen. 
BASCOM kostet ja schließlich Geld, da kann man einen angemessenen 
Support durchaus erwarten können.

von Axel S. (a-za-z0-9)


Lesenswert?

Werner B. schrieb:
> Es ist der ATMEGA8A.

Dann nimm das letzte Package von https://www.fischl.de/usbasp/
(das wäre usbasp.2011-05-28.tar.gz) und daraus das File
bin/firmware/usbasp.atmega8.2011-05-28.hex

Der ATmega8A ist softwareseitig 100% kompatibel zum ATmega8. Falls das 
wider Erwarten nicht funktioniert, dann ist dein usbasp wohl 
hardwareseitig inkompatibel. Im Normalfall würdest du jetzt den 
Hersteller nerven. Aber vermutlich ist das irgendeine China-Gurke von 
ebay, oder?

von Benedict H. (benedict_h)


Lesenswert?

Hallo zusammen,

ich habe mir eine "China-Gurke" bestellt und wollte nun eine andere 
Firmware auf den ATMega8A flashen.
protostack.com.au/shop/accessories/usbasp-avr-programmer/

Ich benutze Atmel Studio 6 (?) und einen AVR Dragon. Wenn ich den USBASP 
an den Dragon anschließe, kann ich die Device Voltage korrekt auslesen 
(das gehschieht glaube ich bereits über ISP, oder?). Die Device ID kann 
ich leider NICHT auslesen, "Failed to enter programming mode".

Ich habe den Jumper zum Self Programming eingelötet und geschlossen. 
Außerdem ist mir aufgefallen, dass mein Dongle keinen Pullup Widerstand 
an der Reset Leitung hatte, den habe ich auch nachgerüstet.
Daraufhin ist die LED des Programmers erloschen, am \RESET Pin messe ich 
aber 5V. Erneut versucht, die Target Voltage auszulesen, das 
funktioniert nun nicht mehr. Auch die ID kann ich nicht auslesen.

FRAGE: Was mache ich falsch? Wie kann ich den ATmega8A mit einer anderen 
Firmware bespielen? Kann es sein, dass nun der Quarz nicht mehr anläuft 
und das Device keine Clock mehr hat? (Habe ein Oszi da und wollte das 
später einmal messen). Das würde aber nicht erklären, warum ich die 
Device ID nicht auslesen kann.

Für Hinweise wäre ich sehr dankbar.

Viele Grüße!

von DAVID B. (bastler-david)


Lesenswert?

Welchen programmer hast du an der gegen stelle ?
Diese USB Programmer können sich NICHT selber beschreiben sollte aber 
auch klar sein.

Eigentlich brauchste nur 2 Stück davon verbindest die mit dem 10 Pin 
kabel und bespielt zuerst den einen dann den andern geht wunderbar.

Ich nutze dazu:
eXtreme Burner - AVR

von Stefan F. (Gast)


Lesenswert?

DAVID B. schrieb:
> Welchen programmer hast du an der gegen stelle ?

Benedict H. schrieb:
> Wenn ich den USBASP an den Dragon anschließe

Er hat wohl einen ATmel Dragon, das ist ein ISP Programmieradapter und 
Debugger.

> Erneut versucht, die Target Voltage auszulesen, das
> funktioniert nun nicht mehr.

Das geht sogar ganz ohne Kommunikation mit dem Target. Wenn nicht einmal 
das funktioniert, hast du ein Kommunikationsproblem zwischen PC und dem 
Dragon. Vielleicht ist er kaputt, das Ding soll ja sehr empfindlich sein 
(meiner geht noch - toi toi toi).

Zeige doch mal die vollständige Ausgabe des Tools und versuche avrdude, 
falls noch nicht geschehen.

von zitter_ned_aso (Gast)


Lesenswert?

DAVID B. schrieb:
> Eigentlich brauchste nur 2 Stück davon verbindest die mit dem 10 Pin
> kabel und bespielt zuerst den einen dann den andern geht wunderbar.

genauso habe ich das gemacht und es funktioniert wunderbar.

(vorher bestellte ich aber natürlich auch nur ein Gerät und musste 
feststellen dass da ein Firmware-Upgrade nötig ist. Nach ein paar Wochen 
war aber auch das zweite Gerät im Postfach)

von Einer K. (Gast)


Lesenswert?

> die Target Voltage auszulesen, das
Das kann der China USBasp sowieso nicht.
Der hat einen Jumper für 3,3V oder 5V, das wars.

von Stefan F. (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
>> die Target Voltage auszulesen, das
> Das kann der China USBasp sowieso nicht.

Der China USBasp ist doch das Target! Als Programmieradapter verwendet 
er den Atmel Dragon.

von Einer K. (Gast)


Lesenswert?

Dann ist ja gut...

von Benedict H. (benedict_h)


Lesenswert?

Danke für die Antworten soweit!

Nochmal zum setup: ich habe ein Atmel Dragon Board und möchte damit das 
USBASP Board flashen. Ich möchte es in keinster Weise als programmer 
benutzen, es soll später als günstiges V-USB Board genutzt werden 
(sollte es mal klappen mit dem beschreiben).

Ich probiere nochmal deinen Hinweis aus Stefanus und teste, ob der 
Dragon noch läuft, sollte aber.

Es gibt auch die Möglichkeit, den Dragon mit AVRdude zu nutzen, das 
würde ich als nächstes testen. Vielleicht macht der ja was besser oder 
anders.

Als letzte Möglichkeit würde ich mir nochmal so nen Chinakracher 
bestellen, das dauert aber wieder Wochen...

von Benedict H. (benedict_h)


Lesenswert?

Kurzes Update: Ich habe heute nochmal kurz meinen Dragon getestet, der 
funktioniert noch.

Bin noch ein Bisschen stutzig, dass die rote LED angeht, wenn ich den 
Programmer ohne Jumper JP2 an den Strom hänge, jedoch ausbleibt, wenn 
ich den Jumper setze.

Der Jumper setzt \Reset auf HIGH, das sollte also kein Problem sein. Der 
Quarz schwingt auch an, das habe ich eben mit dem Oscar gemessen.

Könnte jemand von euch, der den Programmer auch hat, mir einmal den 
Gefallen tun und das ausprobieren? Sprich, JP2 stecken und den USBASP 
dann an den USB Port stecken? Geht bei euch dann die Lampe an?

Vielleicht ist mein Board ja mittlerweile auch schon beschädigt...

von DAVID B. (bastler-david)


Lesenswert?

Die LED geht nur dann aus wenn die Firmware defekt ist oder fehlt.

von zitter_ned_aso (Gast)


Lesenswert?

ich habe zwei aneinander angeschlossen (als programmer und target)

die rote Led leuchtet die ganze Zeit, geht beim targen-Board aber aus 
wenn da z.B. fuses gelesen werden (und geht dann wieder an, nach 1, 2 
Sek).

von Benedict H. (benedict_h)


Lesenswert?

Okay, vielen Dank fürs Ausprobieren!
Das ist ja normales Verhalten, im Zuge des ISP Lesens wird die Reset 
Leitung ja durch den anderen Programmer auf LOW gezogen.

Nun ja, dann ist bei meinem während des Lötens irgendwo was kaputt 
gegangen, kann ja auch sein.

Ich bestelle mir mal einen neuen.

von Benedict H. (benedict_h)


Lesenswert?

Hi,

meine neuen Programmer sind angekommen. Hier hatte ich ursprünglich das 
gleiche Problem. Irgendwann habe ich bemerkt, dass es an der 
Stromversorgung liegt: Zuerst hatte ich die Programmer in ein 
USB-Ladegerät gesteckt, um sie mit Spannung zu versorgen und dann mit 
dem AVR Dragon zu flashen. Das funktioniert aber nicht.
Wenn ich sie mit einem USB Port vom PC mit Spannung versorge, dann 
klappt es. Der allererste Programmer kann so übrigens auch geflasht 
werden.

Rückmeldung der Vollständigkeit halber :-)

von Stefan F. (Gast)


Lesenswert?

Vermutlich war die Abweichung der Spannung zu hoch. Bei geringer Last 
liefern die meisten Handy-Ladegeräte weit mehr als 5V. Ich habe bei 
einem sogar 6,8V gemessen.

Funktionieren tut es nur mit maximal 0,5V Differenz.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.