Hallo zusammen,
Ich verwende einen Bootloader von Digispark, und den für mich
aufregenden Baustein ATiny85, das ganze ist fein auf einem Miniboard
arangiert:
http://digistump.com/products/1
Für mich ist es außerordentlich wichtig, das ich die Fuse so setze das
ein
auslesen nicht mehr möglich ist, weil ich das als Schlüssel verwenden
muss.
Avrdude.exe kann also nicht über rs232 zugreifen, auch ein löten am
Baustein kommt nicht infrage. (es sind sehr viele)
Es gibt eine Anleitung mit dem Raspberry auf die Fuse Register zugreifen
zu können, es müssen also mehr als zwei Leitungen zum programmieren der
Fuse verwendet werden ? Oder hat der Bootloader damit zu tun, wie man
die fuse setzen kann ?
Ich habe nebst Arduino auch von Atmel das Studio installiert, kann dort
selbst über ein AddOn Arduino projekte öffnen und Kompilen, funktiniert
für meine Serial -Kontroller gut (Arduino Nano). Normal entwickelte ich
mit der Keil IDE über das JTAG AnalogDevices Parts ADuc7020/60.
Seit Wochen versuche ich nun über LibUsb mit WinAVR das Gerät
anzusprechen was aber nicht funktioniert , dann muss ich wohl den
Bootloder von digispark durch den von WinAVR ersetzen ?
Ich finde keine Lösung die Fuse zu setzen, und am Ende gieße ich den
Baustein wohl noch in Kunstharz ein, was ist dann ?
Kann doch dann auch keiner mehr auslesen ?
Ich mache das schon 35Jahre, und möchte eigentlich nicht kritiken
sammeln bezüglich das ich soetwas verwende, oder das ich überhaupt etwas
schreibe.
Ich würde mich jedoch freuen wenn andere den Baustein auch verwenden, es
gibt auch positives zu berichten, z.b. das ich diesen über ein C/C++
Interface direkt über USB ohne Treiberzirkus mit 8K/s Auslesen und mit
1K/s beschreiben kann, so habe ich eine bidirektionale
Datenkommunikation erstellt mit null% CPU Last. Der AVR hingegen läuft
auf maximum und ist bis zum rande der Möglichkeiten ausgereizt.
Es gibt einen tollen Thread wie jemand den AVR an einem Raspi anschließt
und diesen dort programmiert.
Soll ich das nachstellen und in dieser Richtung forschen ?
http://www.instructables.com/id/Programming-the-ATtiny85-from-Raspberry-Pi/
Danke für Hinweisen oder hilfestellungen
gruß
Karsten
Fuses kann man IMHO nur über das ISP Interface ändern. Bootloader können
das nicht.
Du brauchst einen zweiten Mikrocontroller zwischen PC und AVR, der mit
dem ISP Interface des AVR verbunden ist (nennt man ISP Programmer). Das
Übertragungsprotokoll ist offen dokumentiert:
http://www.atmel.com/webdoc/protocoldocs/protocoldocs.avrispprotocol.html
Du brauchst einen ISP-programmer um die Fuses zu ändern. Raspberry kann
wie du schon bemerkt hat dafür verwendet werden.
Solltest du einen Raspberry haben ist das die beste Möglichkeit, sonst
ist er overkill.
Der AVR hat keine USB Schnittstelle, also verabschiede dich von deinem
Traum, ihn direkt und ohne großartige Klimmzüge anzusprechen.
Es gibt größere AVR Typen mit einem U im Namen, die haben ein USB
Interface.
Danke der Hinweise, dies löst einige Unsicherheiten.
Den MKII Programmer werde ich mal ordern, alternativ
via Raspi als Programmer.
Ansonnsten funktioniert die USB Kommunikation sehr gut.
Danke.
K.
stefan us schrieb:> Der AVR hat keine USB Schnittstelle, also verabschiede dich von deinem> Traum, ihn direkt und ohne großartige Klimmzüge anzusprechen.
Er hat anscheinend eine Software USB Implementierung im Bootloader.
Darüber wie standardkonform die ist, brauchen wir nicht zu streiten.
Aber offensichtlich ist sie gut genug, um den AVR über USB direkt
anzusprechen und z.B. eine Firmware drauf zu flashen. Das funktioniert
in der Realität millionfach. Es ist daher vollkommen müßig darüber zu
diskutieren ob man das besser machen könnte.
Allerdings ändert all das nichts daran, daß man die Fuses eines AVR nun
mal nicht aus dem laufenden Programm heraus ändern kann. Ergo auch nicht
aus dem Bootloader heraus. Dazu muß man über ISP oder JTAG (hat der
tiny85 aber sowieso nicht) gehen.
@Karsten: du brauchst einen ISP-Adapter und irgendeine Möglichkeit, den
tiny85 auf der Platine zu kontaktieren. Es gibt so kleine Clip-On
Adapter die man auf das SO-Gehäuse aufclipsen kann. Oder du bastelst was
mit Pogo-Pins. Schau dir aber vorher die Schaltung an, ob die MISO,
MOSI, SCK und RESET Pins geeignet beschaltet sind für den ISP-Zugang.
Hi Axel,
ales klar jetzt. Problem ist natürlich die vorhandene Verdrahtung,
nicht das die ausschließt einen "isp" zu verwenden. Ein JTag von Analog
habe ich freilich, aber ich kenne nicht die Unterschiede zum ISP
Verfahren.
Es mangelt also an substanzieller Grundkenntniss. Ich streife den
Bereich der
Pics und Mics immer wieder, die Kollisionen werden Herzhafter.
Und dann lasse ich mir hier die Datenblätter vorlesen, um nicht alleine
leiden zu müssen :)
Vielen Dank der Hinweise, ich werde die frohe Kunde integrieren.
Lg.
K.
>>> Der AVR hingegen läuft auf maximum und ist bis zum>>> Rande der Möglichkeiten ausgereizt.>> Der AVR hat keine USB Schnittstelle, also verabschiede dich von>> deinem Traum, ihn direkt und ohne großartige Klimmzüge anzusprechen.> Es ist daher vollkommen müßig darüber zu diskutieren ob man das> besser machen könnte.
Ich wollte doch bloss erklären, warum der AVR "auf maximum" läuft. Es
kam mir so vor, als ob der TO dies als Mangel betrachtet und verbessern
möchte.
@Karsten: habe ich Dich da missverstanden?
Ich weiß nicht was Du verstanden hast, USB "ja" zur Kommunikation,
wunderbar geht das, auch Programme übertragen ist kein Problem. Jedoch
die FuseBits setzt man nicht über diese beiden Datenleitungen, dafür
bedarf es enes spi transfers, das wusste ich nicht.