Forum: Mikrocontroller und Digitale Elektronik Linux >> simpler ISP Programmer für ATTinys mit avrdude?


von mgolbs (Gast)


Lesenswert?

Hallo,

ich habe früher immer den Crisp AVR 200 am parallelen Port verwendet. 
Leider ist das mit dem parallelen Port nativ oft nicht mehr möglich. Per 
usb2lpt Adapter funktioniert dieser leider auch nicht. Habe im Netz 
andere User mit gleichem Problem gefunden ... keine Lösung in Sicht.

Aktuell nutze ich das STK500 von Atmel über usb2rs232. Sind dann eine 
Menge Kabel...

Ein weiterer Versuch war der Olimex AVR-ISP500-ISO. Da bekomme ich den 
Linux Driver unter Debian 7 nicht zum Arbeiten. Auch andere User haben 
da so Ihre Probleme. Ein langes how to .. um es eventuell dann mit 
vielen Einschränkungen zum Laufen zu bringen.... Für mich keine 
wirkliche Lösung.

Dann gab es mal von Reichelt den DIAMEX-AVR. Meiner läuft unter Linux 
nicht. Auch die Frage Firmwareupdate (die so manches Problem lösen soll, 
hier im Forum beschrieben) wird unter Windows bei diesem Gerät nicht 
ausgeführt (wohl zu alte Version auf dem AVR Stick...)

Nun habe ich mal den Pololu USB AVR Programmer probiert. Er verbindet 
zwar (Debian 7 avrdude), überträgt Flash aber beim Prüfen gibt es 
Fehler...Ein sauberes Arbeiten scheint auch damit nicht ganz trivial zu 
sein..

Vor Wochen hatte ich die Möglichkeit, den Dragon AVR zu verwenden. 
Dieser funktioniert, könnte aber eben etwas kleiner und ohne die 
notwendige zusätzliche Peripherie sein.

Was für einen einfachen, kleinen USB ISP Programmer kann man für Linux, 
avrdude und primär ATTinys empfehlen, also Anschließen und Laufen wie 
beim STK500, keine Installation wie z.B. beim Olimex? Beim DIAMEX-AVR 
gefällt mit die Form :-), Dimension, nur 6 Pin ISP, USB, einfach das 
Wesentliche ...

Gruß und Dank Markus

von holger (Gast)


Lesenswert?

>Was für einen einfachen, kleinen USB ISP Programmer kann man für Linux,

AVR ISP MKII. Das Original von Atmel. Die Clones machen nur Ärger.

von Svenska (Gast)


Lesenswert?

USBASP. Gibt's billig oder sogar zum Selberbauen.

von Chr. M. (snowfly)


Lesenswert?

holger schrieb:
> AVR ISP MKII. Das Original von Atmel.

Wo kommt das nur immer her?
Ich hab einen und sobald der Chinese liefert fliegt der wieder raus.
-kann das Target nicht versorgen
-unter win7(64) keine gleichzeitige nutzung mit AVR Studio und Arduino
-kostet das 10fache von USBASP

Klarer Tip: USBASP

von mgolbs (Gast)


Lesenswert?

Hallo,

vielen Dank für die Info. Werde mir dann den Atmel AVR ISP mkII 
Programmer besorgen. Scheint auch für zukünftige Projekte eine gute 
Basis zu sein.

Brauche ich für den Atmel AVR ISP mkII Programmer irgend eine 
Driverinstallation, oder sollte der unter jedem halbwegs aktuellen Linux 
(i386, amd64 oder 32bit Arm) so mit avrdude zum Laufen zu bekommen sein?

Gruß und Dank Markus

von mgolbs (Gast)


Lesenswert?

mgolbs schrieb:
> Hallo,
>
> vielen Dank für die Info. Werde mir dann den Atmel AVR ISP mkII
> Programmer besorgen. Scheint auch für zukünftige Projekte eine gute
> Basis zu sein.
>
> Brauche ich für den Atmel AVR ISP mkII Programmer irgend eine
> Driverinstallation, oder sollte der unter jedem halbwegs aktuellen Linux
> (i386, amd64 oder 32bit Arm) so mit avrdude zum Laufen zu bekommen sein?
>
> Gruß und Dank Markus

Also doch nicht die ware Lösung, der Atmel AVR ISP mkII
Programmer?

von Tim  . (cpldcpu)


Lesenswert?

Bestelle dir einfach >zwei< China-USBASP Clones. Das kostet zusammen ca. 
5 EURO und Du kannst auch die Firmware schnell aktualisieren.

(Siehe China Schnäppchen Thread im Markt-Board)

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


Lesenswert?

mgolbs schrieb:

> ich habe früher immer den Crisp AVR 200 am parallelen Port verwendet.
> Leider ist das mit dem parallelen Port nativ oft nicht mehr möglich.

Kauf halt gescheite Hardware. Es gibt auch Steckkarten für PCI (am 
Aussterben) und PCIe x1 (zukunftsfähig) mit 1x LPT und 2x COM. Für die 
Desktop-Maschine eines Elektronik-Entwicklers halte ich sowas für 
unverzichtbar.

> Ein weiterer Versuch war der Olimex AVR-ISP500-ISO. Da bekomme ich den
> Linux Driver unter Debian 7 nicht zum Arbeiten.

Ein Linux "Treiber" für ein USB Gerät? Bullshit.

> Was für einen einfachen, kleinen USB ISP Programmer kann man für Linux,
> avrdude und primär ATTinys empfehlen

Mit avrdude geht doch fast alles. USBASP (selber basteln oder vom 
Chinesen). USBtiny als Bausatz vom elektronischen Hajo.

Übersicht hier: AVR In System Programmer: USB


XL

von Stephan B. (matrixstorm)


Lesenswert?

Hi.

Falls du dir selbst einen USBasp bauen willst, und nicht auf die 
Lieferung aus China warten willst:

http://matrixstorm.com/avr/tinyusbboard/ mit
Beispiel "tinyUSBboard as USBasp programming hardware" beflasht.

MfG

von bingo (Gast)


Lesenswert?


von mgolbs (Gast)


Lesenswert?

Hallo,

habe nun so einen usbasp und bin nicht so richtig glücklich:
1
dell-1200Hz golbs # avrdude -p t85 -P /dev/ttyUSB0 -c usbasp -B 100 -U lfuse:w:0xE4:m
2
3
avrdude: set SCK frequency to 8000 Hz
4
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
5
avrdude: error: programm enable: target doesn't answer. 1 
6
avrdude: initialization failed, rc=-1
7
         Double check connections and try again, or use -F to override
8
         this check.
9
10
11
avrdude done.  Thank you.
12
13
dell-1200Hz golbs #


Habe schon im Netz gelesen, dass das mit einem ISP 10 zu 6 Adapter bei 
manchen das Problem war. Hatte eigentlich den ISP10 nach Anleitung auf 
ATTiny gelötet.

Komisch war nur, dass beim ersten Fuse schreiben für den ATTiny 85 
irgendwie eine Kommunikation da war. Mit dem Befehl kann ich doch nicht 
den AT auf dem usbasp modifiziert haben?

Gruß Markus

von Chr. M. (snowfly)


Lesenswert?

mgolbs schrieb:
> Hatte eigentlich den ISP10 nach Anleitung auf
> ATTiny gelötet.

Schau dir vielleicht nochmal genau an welchen von den GND Pins du 
benutzt hast.

> Komisch war nur, dass beim ersten Fuse schreiben für den ATTiny 85
> irgendwie eine Kommunikation da war.
Klingt nach klassisch ausgesperrt ;)

von Andreas B. (bitverdreher)


Lesenswert?

Hi,
damit steht der Tiny auf einem externen Clock.
Siehe hier: http://www.engbedded.com/fusecalc/

Ist ein Quarzoszillator angeschlossen?

Gruß
Andreas

von mgolbs (Gast)


Lesenswert?

Hallo,

danke für die Infos. Der Tiny läuft mit internem Geber. Nur warum soll 
das passiert sein? Mit dem STK500v2 schreibe ich doch aus so?

Gruß Markus

von mgolbs (Gast)


Lesenswert?

mgolbs schrieb:
> Hallo,
>
> danke für die Infos. Der Tiny läuft mit internem Geber. Nur warum soll
> das passiert sein? Mit dem STK500v2 schreibe ich doch aus so?
>
> Gruß Markus

Hallo,

habe wohl den Fehler gefunden. Wollte eigentlich schreiben:

Fuse E2 DF FF.

-U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

Da ist leider ein Zahlendreher passiert.

Gruß und Dank Markus

von Simon S. (-schumi-)


Lesenswert?

mgolbs schrieb:
> Da ist leider ein Zahlendreher passiert.

Solche Sachen lassen sich vermeiden mit:
http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.html

Nur die Einstellungen am Anfang sind etwas dämlich:
 - Programm starten
 - Settings -> AVRDUDE wählen
 - Pfade setzen (bei mir "/usr/bin/avrdude" und "/etc/avrdude.conf") und 
bestätigen
 - Programm schließen und wieder öffnen
 - Wieder Settings -> AVRDUDE wählen
 - Jetzt Programmer und Port wählen
 - Bestätigen und loslegen

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


Lesenswert?

mgolbs schrieb:
> habe wohl den Fehler gefunden. Wollte eigentlich schreiben:
> -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
> Da ist leider ein Zahlendreher passiert.

Mit lfuse=0xE4 ist als Taktgeber der 128kHz Oszillator gewählt, der 
sonst nur den Watchdog antreibt. Wenn du jetzt noch einen usbasp mit 
aktueller Firmware hättest, dann könntest du mit avrdude die 
ISP-Geschwindigkeit runterdrehen. Anscheinend hast du dir aber einen mit 
alter Firmware andrehen lassen:

> avrdude: set SCK frequency to 8000 Hz
> avrdude: warning: cannot set sck period. please check for usbasp
> firmware update.

Wenn du Glück hast, dann hat dein usbasp einen "slow sck" Jumper. Den 
könntest du dann zumindest zeitweise aktivieren. Oder du suchst dir 
einen zweiten ISP-Programmer und flashst mal eine aktuelle Firmware auf 
deinen usbasp.


XL

von mgolbs (Gast)


Lesenswert?

Hallo,

vielen Dank für die Infos. Das mit dem AVR8 Burn-O-Mat: a GUI for 
avrdude klingt interessant, werde ich installieren - Danke!

Mit den -B Optionen am usbasp habe ich schon gespielt, kein Effekt. Die 
aktuellste Firmware für den uspasp ist von 2011? Diese habe ich schon 
per make erstellt - hexfile vorhanden. Nur weiss ich nicht wie ich den 
usbasp an einen anderen Programmer anschließen soll? Mit dem Atmel board 
stk500v2 habe ich es versucht hat aber nicht geklappt, meine Unfähigkeit 
:-)
Wenn ich den parallelen STK200 mit sowohl 6 PIN ISP und 10 PIN ISP 
benutzen möchte, muss ich nur die zwei 10 PIN ISP's 1:1 verbinden, den 
Target Typ auf dem usbasp wählen als Programmer den stk200 bei avrdude 
angeben und dann sollte das schon gehen? Versorung über USB am usbasp 
sollte dabei angeschlossen sein?

Gruß und Dank Markus

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


Lesenswert?

mgolbs schrieb:
> aktuellste Firmware für den uspasp ist von 2011?

v1.4 vom Mai 2011

> Diese habe ich schon
> per make erstellt - hexfile vorhanden. Nur weiss ich nicht wie ich den
> usbasp an einen anderen Programmer anschließen soll?

Einfach mit einem 10-polig auf 10-poligen Kabel an einen anderen 
ISP-Programmer anschließen und auf dem usbasp den "self pgm" Jumper 
setzen. Als µC Typ beim Programmieren (und auch Compilieren) der 
Firmware natürlich den nehmen, der auch verbaut ist. Meist ein ATmega8.

Zum Updaten kann man den usbasp aus dem Programmer versorgen. Dazu muß 
natürlich der "target power" Jumper geschlossen sein, mit dem sonst der 
usbasp sein Target versorgt.


XL

von Stefan F. (Gast)


Lesenswert?

> -kann das Target nicht versorgen

Was für ein Argument. Das kann man mit einem simplen Schalter 
nachrüsten, Im Gehäuse ist auch genug Platz dazu vorhanden.

von mgolbs (Gast)


Lesenswert?

Hallo,

war mit dem usbasp wirklich ein Firmwareproblem. Jumperpins eingelötet, 
Brücke gebaut,...jetzt läuft er wie erwartet. Die einzige 
Herausforderung war einen Programmer zu finden, der den usbasp auch 
versorgt (also ohne was bauen zu müssen). Mein einziger Programmer der 
das standardmäßig kann, ist der große stk500v2 von Atmel. Habe nun einen 
kleinen kompakten Programmer der problemlos und gut unter Linux läuft, 
versorgt,.. alles prima.

Gruß und Dank Markus

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.