Forum: Mikrocontroller und Digitale Elektronik ATtiny84 als AVR ISP


von Michael B. (dermicha)


Lesenswert?

Hallo Forengemeinschaft,

ich versuche gerade mit mit einem ATtiny 84 einen einfachen Programmer 
für den ATtiny85 zu bauen.

Nach eben jenem Vorbild, ich will das Rad nicht neuerfinden, aber beim 
nachbauen verstehen.

https://learn.sparkfun.com/tutorials/tiny-avr-programmer-hookup-guide

Das Platinen Layout ist soweit kein Problem, nur leider wird auf der 
Seite von Sparkfun nicht darauf eingegangen wie man den 84er zum 
Programmer flasht.

Irgendwann bin ich hier gelandet:

https://learn.adafruit.com/usbtinyisp

Dort verstand ich das man mit nem aktuellen avrdude die usbtiny firmware 
einfach so brennen kann. Soweit so gut.

avrdude ist installiert und funktioniert, und ich hab nen Atmel AVRISP 
mkII da zum flashen.

Woran es jetzt bei mir hakt, ist das das sparkfun board mit einem 
externen 16Mhz Quartz arbeitet, warum wieso weshalb, ist mir zugänglich, 
blos nicht wann ich beim flashen dem jetzt nackten ATtiny 84 denn nun 
sage er soll seinen Takt von einem externen Quartz beziehen.

Muss ist erst den code flashen, und später noch fusebits setzen, macht 
das avrdude automatisch ... ?

Ich danke schon mal im vorraus für jeden hilfreichen Ansatz, mein 
Wissenslücken auf zu füllen.

BTW.: Ob das jetzt mehr oder weniger Geld kostet, das teil selbst zu 
bauen, oder am Ende einfach zu bestellen ist an der Stelle nicht so 
wirklich entscheidend, mir gehts eher darum zu verstehen wie ich den 
tiny nun zum Programmer bekomme.

von S. R. (svenska)


Lesenswert?

Mit avrdude kannst du sowohl die Firmware in den Tiny84 schreiben, als 
auch dessen Fuses setzen. Guckst du mal unter 
http://www.engbedded.com/fusecalc, dort wählst du die gewünschten 
Settings aus und bekommst sogar die Parameter für avrdude angezeigt. :-)

von Karl M. (Gast)


Lesenswert?

Hallo Michael,

wo findet man denn die Firmware AVRUSBTiny für denen AVR µc ?

von Michael B. (dermicha)


Lesenswert?

Hallo Karl,

http://dicks.home.xs4all.nl/avr/usbtiny/

Sorry, hatte gestern gedacht ich hätte den Link mitgeliefert.

Es wird halt der Sattelfeste umgang mit avrdude und co vorrausgesetzt, 
den ich letztlich nicht habe. Schöner heiler Arduino Kuschelumgebung sei 
dank ;-).

von Alexander J. (Gast)


Lesenswert?

Michael B. schrieb:
> Das Platinen Layout ist soweit kein Problem, nur leider wird auf der
> Seite von Sparkfun nicht darauf eingegangen wie man den 84er zum
> Programmer flasht.

Der Code für den 84er ist doch verlinkt:
http://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/firmware-final_TinyAVRProg.zip

Und wenn DU niciht weißt, wie Du die SW dort rauf bekommst, dann kaufe 
die lieber das fertige Teil. :-(

von Karl M. (Gast)


Lesenswert?

Danke Alexander,

habe ich nicht gefunden.

von Alexander J. (Gast)


Lesenswert?

Karl M. schrieb:
> Danke Alexander,
>
> habe ich nicht gefunden.

Ich habe auch schonn überlegt, mir den zu bauen. :-)

Und beim ersten Lesen die SW auch übersehen. Ich bin dann doch wieder 
beim Arduino (Nano) als ISP gelandet, da mit weniger Bastelaufwand 
verbunden.

von Michael B. (dermicha)


Lesenswert?

Alexander J. schrieb:
> Der Code für den 84er ist doch verlinkt:
> 
http://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/firmware-final_TinyAVRProg.zip
>
> Und wenn DU niciht weißt, wie Du die SW dort rauf bekommst, dann kaufe
> die lieber das fertige Teil. :-(

Hallo Alexander,

natürlich wäre das die einfacherere Variante um an den Programmer zu 
kommen.

Ich habe aber zwei Anliegen weshalb ich auf den Programmer hinaus will, 
erstmal will ein dediziertes Werkzeug haben, das mir dabei hilft 
unterwegs die tinys zu programmieren. Dafür möchte ich keinen kompletten 
Arduino "mitschleppen", bzw wird mir es hinter raus zu teuer einen zu 
verbauen..

Andererseits finde ich es irgendwie ein wenig Schade, das um das flashen 
der Firmware an der stelle ein wenig ein Geheimnis gemacht wird.

Und irgendwie denke ich mir so schwer kann es am Ende des Tages doch 
nicht sein, dem Tiny die Firmware bei zu bringen, und ihm zu vermitteln 
er soll mit einem externen Quartz arbeiten.

Zumal ich ja auch mal ein wenig aus der "Arduinokuschelwelt" hinaus 
will, und für mich persönlich zum lernen solche Nüsse gerne knacken 
will. Und ich offenbar gerade so ein wenig ein Henne / Ei Problem habe. 
Und irgendwo den ersten Anschub mal brauche :/.

von Georg G. (df2au)


Lesenswert?

Michael B. schrieb:
> Andererseits finde ich es irgendwie ein wenig Schade, das um das flashen
> der Firmware an der stelle ein wenig ein Geheimnis gemacht wird.

Das ist auf den Atmel Seiten genauestens beschrieben. Geheim ist da 
nichts.

von Karl M. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Michael Beckmann,

Du stehst vor dem klassischem "Henne ./. Ei" Problem.

Zum Programmieren des attiny84 als USBTinyISP Programmerieradapter 
benötigst Du einen ISP Programmerieradapter.

Starte doch einfach mit einem Bausatz incl. Firmware. Danach kannst Du 
dir beliebige weitere ISP Programmerieradapter aufbauen.

# https://www.ehajo.de/baus%C3%A4tze/programmieradapter.html

Der AVR-ISP-Stick basiert auch auf dem VUSB Stack:

# 
https://www.ehajo.de/baus%C3%A4tze/smd-baus%C3%A4tze/avr-isp-stick.html

# https://learn.adafruit.com/usbtinyisp

Ich hatte mir den USBTinyISP auf Basis eines Attiny2313 im April 2011 
aufgebaut.
Der läuft bis heute sehr gut.

von Michael B. (dermicha)


Lesenswert?

Karl M. schrieb:
> Zum Programmieren des attiny84 als USBTinyISP Programmerieradapter
> benötigst Du einen ISP Programmerieradapter.
>
> Starte doch einfach mit einem Bausatz incl. Firmware. Danach kannst Du
> dir beliebige weitere ISP Programmerieradapter aufbauen.

Das Problem besteht ja quasi nicht, ich hab ja nen AVRIPS mkII da :-).

Mir fehlt einfach nur das wissen darum wie genau ich die Firmware auf 
den µC bekomme. Ja völlige anfäger Frage aber ja :/.

von Karl M. (Gast)


Lesenswert?

Ok Michael,

Basis ist immer das Atmel Datenblatt des Attiny84.

Dann noch diese Application Notes:

http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf

http://www.atmel.com/Images/Atmel-0943-In-System-Programming_ApplicationNote_AVR910.pdf

So ein ISP Programming Interface besteht ja nur aus Verbindungen unter/ 
zwischen:
Vcc (+5V), Gnd (Masse), RESET, MISO, MOSI und SCK.

Dann nutze die Welt AVRDUDE:
# http://www.nongnu.org/avrdude/
# http://www.nongnu.org/avrdude/user-manual/avrdude.html#Top

Als Steuerprogramm für den ISP Programmer.

von Stefan F. (Gast)


Lesenswert?

> Mir fehlt einfach nur das wissen darum wie genau ich die
> Firmware auf den µC bekomme.

Das müsste Bestandteil jedes AVR Tutorials sein. Hast du dich denn schon 
mit dem AVR Studio oder Atmel Studio oder AVRdude oder einer der 
zahlreichen GUI's für avrdude beschäftigt?

von S. R. (svenska)


Lesenswert?

Michael B. schrieb:
> Ich habe aber zwei Anliegen weshalb ich auf den Programmer hinaus will,
> erstmal will ein dediziertes Werkzeug haben, das mir dabei hilft
> unterwegs die tinys zu programmieren.

Ja dann kauf dir nen USBASP für drei Taler auf den üblichen Seiten. Die 
Dinger sprechen ISP, funktionieren und sind billig genug. Deine eigene 
Bastelei wird eher teurer und garantiert nicht besser.

Michael B. schrieb:
> Dafür möchte ich keinen kompletten Arduino "mitschleppen",
> bzw wird mir es hinter raus zu teuer einen zu verbauen..

Ein Programmer wird normalerweise nicht im Gerät verbaut. Wozu auch, den 
braucht man einmal zur Inbetriebnahme. Sorge lieber dafür, dass die 
ISP-Pins verfügbar und zugreifbar sind.

Ich werde nicht so recht schlau aus deinen Ausführungen. Meine Vermutung 
ist, dass du hast schlicht keine Ahnung hast und deswegen versuchst, ein 
Problem mit Gewalt zu lösen, welches nicht existiert. Und weil niemand 
das Problem löst - ist ja keins - findest du auch keine Anleitungen, wie 
man es löst.

von Michael B. (dermicha)


Lesenswert?

> Michael B. schrieb:
>> Dafür möchte ich keinen kompletten Arduino "mitschleppen",
>> bzw wird mir es hinter raus zu teuer einen zu verbauen..
>
> Ein Programmer wird normalerweise nicht im Gerät verbaut. Wozu auch, den
> braucht man einmal zur Inbetriebnahme. Sorge lieber dafür, dass die
> ISP-Pins verfügbar und zugreifbar sind.
>

Es soll Aufgabe des Geräts sein unterwegs eben besagte ATtinty 85 
unterwegs mitneuer Firmware beschreiben zu können.

> Ich werde nicht so recht schlau aus deinen Ausführungen. Meine Vermutung
> ist, dass du hast schlicht keine Ahnung hast und deswegen versuchst, ein
> Problem mit Gewalt zu lösen, welches nicht existiert. Und weil niemand
> das Problem löst - ist ja keins - findest du auch keine Anleitungen, wie
> man es löst.

Mir fehlt es schlicht und ergreifend an wissen, wie ich mit einem 
AVRISP, besagte USB Firmware auf den ATtiny 84 bekomme, und in welchem 
Schritt ich ihm die Fuse-Bits setzen muss, so das er mit dem externen 
Quarz arbeitet.

von Stefan F. (Gast)


Lesenswert?

> Mir fehlt es schlicht und ergreifend an wissen

Das ist offensichtlich. Nur fällt Wissen weder vom Himmel noch bekommt 
es man als Geschenk ins Hirn gebeamt. Das Internet macht nur dann 
schlau, wenn man es richtig nutzt. Alleine der besitz eine Internet 
Zugangs bringt noch gar nichts, außer Werbung für Tabletten.

Dir wurde bereits gesagt, dass du dazu unter anderem das Programm 
avrdude verwenden kannst. Dazu gibt es zahlreiche Bedienungsanleitungen 
im Internet.

Es ist nicht so, dass wir Dir nicht helfen wollen. Aber wir wollen auch 
nicht ganze Webseiten speziell für Dich in eigene Worte fassen und hier 
neu schreiben. Zumal dann ja immer noch eine hohe Wahrscheinlichkeit 
besteht, dass du den Text dann ebenso nicht verstehst.

Ich vermute aber eher, dass du noch GAR KEINE Anleitung zu dem Thema 
gelesen hast. Zeige, dass du bereit bist, Anleitungen zu lesen, indem du 
hier auflistest, welche Anleitungen du Dir schon angesehen hast. Und 
stelle dazu deine Fragen.

Es ist ja keine Schande, wenn man etwas nicht versteht. Wir sind hier 
allerdings durch die Generation "Smartphone" sensibilisert, die für 
jeden Furz eine App oder ein Youtibe Video persönlich präsentiert 
bekommen wollen und dann meinen, die Arbeit erledigt sich von ganz 
alleine.

Für meine Ü40 Generation ist es schon äußerst schwer nachzuvollziehen, 
wie man es trotz Internet und Google fertig bringt, keine hilfreiche 
Anleitung zu finden. WIR mussten unsere Anleitungen noch in Form von 
Büchern besorgen und Lehrer aufsuchen. WIR mussten in Karteikästen nach 
Buchtiteln suchen und mit viel Kosten, Mühe und Zeit die Japanischen 
Chiphersteller anschreiben um eine schlechte Fotokopie eines 
Datenblattes zu erbetteln.

Dagegen ist die die heutige Situation mit Internet das reinste 
Zuckerschlecken! Ich schäme mich dafür, dass die Menschen mit 
zunehmendem Zugang zu Bildung ihr Interesse an dieser verlieren.

von Thomas F. (igel)


Lesenswert?

Michael B. schrieb:
> Mir fehlt es schlicht und ergreifend an wissen, wie ich mit einem
> AVRISP, besagte USB Firmware auf den ATtiny 84 bekomme, und in welchem
> Schritt ich ihm die Fuse-Bits setzen muss, so das er mit dem externen
> Quarz arbeitet.

Warum liest du nicht einfach das hervorragende Tutorial auf dieser 
Seite?

https://www.mikrocontroller.net/articles/AVR_In_System_Programmer

https://www.mikrocontroller.net/articles/AVR_Fuses

von Alexander J. (Gast)


Lesenswert?

Stefan U. schrieb:
> Ich schäme mich dafür, dass die Menschen mit
> zunehmendem Zugang zu Bildung ihr Interesse an dieser verlieren.

Ist doch klar: Die Summe aller Intelligenz auf diesem Planeten ist eine 
Konstante, nur die Bevölkerungszahl steigt.

von batman (Gast)


Lesenswert?

Und schon Adam war deppert genug, in den falschen Apfel zu beißen.

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


Lesenswert?

Michael B. schrieb:
> Mir fehlt es schlicht und ergreifend an wissen, wie ich mit einem
> AVRISP, besagte USB Firmware auf den ATtiny 84 bekomme

Genau so wie du irgendeine Firmware unter Zuhilfenahme des AVRISP in 
irgendeinen AVR bekommst. Z.B. mit avrdude. Das Vorgehen ist immer 
gleich, vollkommen egal, welches Programm du in den µC flashen willst.

Es gibt gefühlt 1000 Programme, die mit dem einen oder anderen ISP- 
Adapter funktionieren. Mit GUI oder ohne, mit Einbettung in eine IDE 
oder standalone. Such dir einfach eins aus, das mit dem AVRISP 
funktioniert. Und dann lies dessen Anleitung. Im Zweifel nimm avrdude 
(ohne GUI).

> und in welchem
> Schritt ich ihm die Fuse-Bits setzen muss, so das er mit dem externen
> Quarz arbeitet.

Das ist egal. Du kannst die Fuse-Bits vorher oder nachher setzen. Im 
einen Fall läuft der AVR zum Flashen des Programms noch mit dem 
RC-Oszillator (Fuses auf Default) oder schon mit dem externen Quarz 
(Fuses zuerst gesetzt).

Aber in jedem Fall mußt du sie separat vom Flashen des Programms setzen. 
Und du darfst sie erst setzen, nachdem du den Quarz angeschlossen hast.

von Stefan F. (Gast)


Lesenswert?

Und weg ist er - wie so oft.

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.