ATtiny85 mit PlatformIO und Arduino Uno als Programmer

#7494994
Lesenswert?

Habe ein Arduino Uno Board als Programmer mit Erweiterungsshield (Steckfassungen 8,14,20 und 28 polig), so dass ich über die Arduino IDE das Board als ISP-Programmer für diverse MCU's benutzen kann, auch z.B. für den ATtiny85. Mit der Arduino IDE klappt der Einsatz dieses ISP-Programmers problemlos. Nun nutze ich für größere Projekte PlatformIO. Hier gelingt es mir nicht auaf diesen Programmer zuzugreifen. Im Protokell wird (Vorspann für Build habe ich weggelassen) folgene Fehlermeldung zum Schluss angezeigt. AVAILABLE: usbtiny CURRENT: upload_protocol = usbtiny Looking for upload port... Uploading .pio\build\attiny85\firmware.hex avrdude: Error: Could not find USBtiny device (0x1781/0xc9f)

Unter Device wird folgender COM-Port angezeigt: COM5 USB-SERIAL CH340 (COM5) USB VID:PID=1A86:7523 SER= LOCATION=1-2, wie auch im Gerätemaner.

Werkle nun auch noch ein bisschen wieder mit Microchip Studio (früher ATMEL) rum, befürchte aber das die Programmerzuweisung ähnlich ablaufen wird. Bei AVRDude sehe ich noch nicht richtig durch. Stehe nun auf dem Schlauch und hoffe dass mir jemand einen Link oder einen Rat geben kann. Danke und schönen Sonntag noch.

Gast #7495007
Lesenswert?

Wenn du den Arduino UNO als Programmieradapter verwendest, dann musst du ihn auch entsprechend in der IDE einstellen (ich glaube er ist zum STK500 kompatibel). Dein Target ist kein usbtiny, sondern ein ATtiny85.

USBtiny würde hingegen zu einem ATtiny passen, der direkt (ohne Programmieradapter) per USB mit dem PC verbunden ist. Dazu bedarf es ein paar Bauteile und man muss vorher den usbtiny Bootloader auf den ATtiny installiert haben.

#7495076
Lesenswert?

Danke Euch,

Arduino F. (Firma: Gast) schrieb: "Die Arduino IDE zeigt dir die AVRdude Kommandozeile, die könntest du übernehmen." Das werde ich morgen probieren, auf so etwas hatte ich gehofft. Nur zu blöd das zufinden. Gebe Bescheid.

Stefan F schrieb: richtig: das ist irgendwwie ein STK500 Die Lösung ist die platformio.ini mit

upload_protocol = stk500v1 ; each flag in a new line upload_flags = -P$UPLOAD_PORT -b$UPLOAD_SPEED upload_speed = 19200 upload_port = COMX ; Set the port to the Arduino COM Port ergänzen.

Quelle: /dariocasciato/attiny85-programming-your-complete-guide-with-arduino-and-platformio-37do

Bin nun vollgefressen und habe Feierabend. Gruß an euch 2 Oti

#7496679
Lesenswert?

das habe ich gestern schon versucht, mit dem gleichem ergebnis. keine Chance t85 über den UNO und avrdude anzusprechen. gefühlt 10 Varianten von Programmern ausgesucht. Das über 2 wege avrdude über commandozeile und dann mit AVR Burn-O-Mat, da gibt es eine Liste, aus der man den Programmer auswählen kann. Setzt Java voraus, ist GNU und Oberfläche hat mich beeindruckt. Den UNO will ich benutzen, das das shield mehre IC-Steckplätze hat und die extra 10bzw. 6 polige Verkabelung wegfällt. eben nur IC in Sockel und USB-Kabel in PC und das wars. MicroChipStudio wollte ich verwenden, da ich dort mit der Registerprogrammierung besser zurech komme. Auch wenn es ewig her ist, das ist wie früher Z80.

Gast #7497153
Lesenswert?

Michael schrieb:

das habe ich gestern schon versucht, mit dem gleichem ergebnis.

Wenn du uns alles nötigen Infos gibst, können wir die vielleicht helfen.

  • Schaltplan
  • Fotos vom Aufbau, insbesondere der Stromversorgung
  • Screenshot vom Gerätememanager, wo man den COM Port vom Programmieradapter (dem UNO) sieht.
  • Kommandozeile, wie du avrdude aufgerufen hast (gerne mit Parameter -v)
  • Die komplette Ausgabe von avrdude
#7499053
Lesenswert?

Steve, danke erstmal. Vllt stelle ich mich auch zu blöd an, habe erstmal alles geschrumpft und hier meine Batchdatei:

C:\AVRDude\avrdude.exe -c stk500v1 -P COM7 -p t85 -v 2> "C:\AVRDude\protokoll.txt"

Ausgabe von AVRDude war (gekürzt) Using Port : COM7 Using Programmer : stk500v1 avrdude stk500_getsync() warning: attempt 1 of 10: not in sync: resp=0xe0 avrdude stk500_getsync() warning: attempt 2 of 10: not in sync: resp=0xe0 avrdude stk500_getsync() warning: attempt 3 of 10: not in sync: resp=0xe0 avrdude stk500_getsync() warning: attempt 4 of 10: not in sync: resp=0x00 avrdude stk500_getsync() warning: attempt 5 of 10: not in sync: resp=0xe0 avrdude stk500_getsync() warning: attempt 6 of 10: not in sync: resp=0xe0 avrdude stk500_getsync() warning: attempt 7 of 10: not in sync: resp=0xe0 avrdude stk500_getsync() warning: attempt 8 of 10: not in sync: resp=0x00 avrdude stk500_getsync() warning: attempt 9 of 10: not in sync: resp=0xe0 avrdude stk500_getsync() warning: attempt 10 of 10: not in sync: resp=0xe0 avrdude main() error: unable to open programmer stk500v1 on port COM7

und nun ist das Problem gelöst nach dem Durchforsten der Protokolldateien der ArduinoIde und VisualStudioCode. Es liegt an der Beaudrate. Mit 19200 Beaud funzt alles.

C:\AVRDude\avrdude.exe -c stk500v1 -P COM7 -p t85 -b 19200 -v 2> "C:\AVRDude\protokoll.txt"

ergibt:

avrdude: Version 7.2 Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

1
     System wide configuration file is C:\AVRDude\avrdude.conf
2

3
     Using Port                    : COM7
4
     Using Programmer              : stk500v1
5
     Overriding Baud Rate          : 19200
6
     AVR Part                      : ATtiny85
7
     Chip Erase delay              : 4500 us
8
     RESET disposition             : possible i/o
9
     RETRY pulse                   : SCK
10
     Serial program mode           : yes
11
     Parallel program mode         : yes
12
     Timeout                       : 200
13
     StabDelay                     : 100
14
     CmdexeDelay                   : 25
15
     SyncLoops                     : 32
16
     PollIndex                     : 3
17
     PollValue                     : 0x53
18
     Memory Detail                 :
19

20
                                       Block Poll               Page                       Polled
21
       Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
22
       ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
23
       eeprom                 65     5     4    0 no        512    4      0  4000  4500 0x00 0x00
24
       flash                  65    10    64    0 yes      8192   64    128  4500  4500 0x00 0x00
25
       lfuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
26
       hfuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
27
       efuse                   0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
28
       lock                    0     0     0    0 no          1    1      0  9000  9000 0x00 0x00
29
       signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
30
       calibration             0     0     0    0 no          1    1      0     0     0 0x00 0x00
31

32
     Programmer Type : STK500
33
     Description     : Atmel STK500 version 1.x firmware
34
     Hardware Version: 2
35
     Firmware Version: 1.18
36
     Topcard         : Unknown
37
     Vtarget         : 0.0 V
38
     Varef           : 0.0 V
39
     Oscillator      : Off
40
     SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions avrdude: device signature = 0x1e930b (probably t85)

avrdude done. Thank you.

Bin nun happy. schöne Woche wünsche ich Dir und allen Mitstreitern

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