TPI f. ATTiny10 mit USBasp + AVRDUDE?

#7591997
Lesenswert?

Mahlzeit!

Mir ist bewusst, dass das Thema auch schon mehrere Male hier im Forum diskutiert wurde, aber es kam nie zu einer finalen Antwort oder gar Lösung[1].

Ich habe eine kleine Schaltung mit einem ATTiny10, der ja nun bekanntermaßen über TPI programmiert wird.

Ich habe mehrere chinesische USBasp-Klone, welche allesamt auf die neuste Fischl-Firmware von 2011 aktualisiert wurden. Einschließlich dem Fix für den Hardwarebug der doppelt angeschlossenen USB-Leitung[2].

Damit sollte es möglich sein, die Tiny4/5/9/10 mittels TPI zu programmieren. Gemäß einiger Quellen scheint dies möglich zu sein[3].

Folgende Voraussetzungen habe ich getroffen:

  • Meine Schaltung funktioniert und lässt sich mit einem Atmel AVRISP mkII problemlos (ohne die LED an TPI-DAT) programmieren
  • Der Tiny10 hat einen 100nF
  • Die LED ist zum Programmieren nicht angeschlossen
  • Clock-Speed ist auf 125kHz eingestellt (langsamer ebenfalls getestet)
  • Der Tiny10 wird mit 5.0V über USB versorgt (ext. Quelle ebenfalls getestet)
  • Die USBasp funktionieren mit einem ATTiny85 problemlos (dann natürlich ISP und nicht TPI)

Nun mag avrdude 7.2 aber den Tiny10 mit dem USBasp nicht finden:

1
>>>: avrdude.exe -c usbasp -p t10 -P usb -B 20.96 -F -U fuse:r:-:h 
2
ERROR: Unable to read fuses/lock bits
3

4
avrdude error: program enable, target does not answer
5
avrdude error: initialization failed, rc=-1
6
        - double check the connections and try again
7
        - use -B to set lower the bit clock frequency, e.g. -B 125kHz
8
avrdude: AVR device initialized and ready to accept instructions
9
avrdude: device signature = 0x000000 (retrying)
10
avrdude: device signature = 0x000000 (retrying)
11
avrdude: device signature = 0x000000
12
avrdude error: Yikes!  Invalid device signature.
13
avrdude warning: expected signature for ATtiny10 is 1E 90 03
14

15
avrdude: processing -U fuse:r:-:h
16
avrdude: reading fuse memory ...
17
avrdude: writing output file <stdout>
18

19
avrdude done.  Thank you.

Ich denke, ich habe die besten Voraussetzungen geschaffen und wenn der USBasp wirklich TPI kann, hier meine Fragen: Hat es schon einmal jemand von euch geschafft, den T10 mit einem USBasp zu flashen und wenn ja, was mache ich falsch?

Ich habe eine funktionierende Lösung durch den AVRISP, mich würde dennoch interessieren, ob es irgendwie möglich ist, mit einem USBasp zum gleichen Ergebnis zu kommen.

Danke!

[1] Beitrag "ATtiny10 lässt sich mit USBasp und avrdude nicht flashen"

[2] https://irq5.io/2017/07/25/making-usbasp-chinese-clones-usable/

[3] http://www.technoblogy.com/show?1YQY

Angehängte Dateien:
#7801842
Lesenswert?

Ich weiß, dass meine Anfrage fast ein Jahr alt ist, aber da ich soeben die Lösung gefunden habe, möchte ich meinen Thread darum ergänzen, damit andere Hilfesuchende davon profitieren können:

Beim Atmel AVR ISP mkII liegt TPIDATA auf der MISO-Leitung des Programmers. Die 2011er USBasp-Firmware von Fischl hat die Datenleitung des Tiny Programming Interfaces auf die MOSI-Leitung gelegt.

Damit ist das Schaltbild aus meiner Frage kompatibel mit dem Atmel AVR ISP mkII, aber für den USBasp müsste die TPIDATA-Leitung auf Pin 4 des Programmieranschlusses gelegt werden.

Als Workaround, falls man Kompatibilität für beide Programmieradapter haben möchte, kann man Pin 4 und Pin 1 (MOSI und MISO) miteinander verbinden.

Damit funktioniert das Programmieren mit AVRDUDE 7.2.0 problemlos.

Achtung: Die Arduino IDE 2.3.4 nutzt AVRDUDE 6.3.0, damit scheint es Probleme zu geben. Die Option "Upload using programmer" aus der IDE heraus (mit dem Tiny10Core von technoblogy) funktioniert nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren