programmare attiny85

Perdonate, ma non credo di avere l'alzheimer solo che da alcuni giorni non riesco più a programmare i miei Attiny85.
Potrei dare la colpa agli ultimi aggiornamenti installati o a qualche mia sbadataggine (ma ne dubito in quanto faccio questa operazione da anni).
Mi spiego: da sempre programmo questo ragnetto con un ISP emulato da un arduino nano ho infatti predisposto una basetta apposita per questo uso.
Da circa 2 giorni nel momento del caricamento mi esce un bel errore:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15

di seguito riporto il dettaglio completo dell'operazione di caricamento, spero che qualcuno mi sappia dire la provenienza del problema. grazie per il tempo.

Arduino:1.8.1 (Windows 7), Scheda:"ATtiny25/45/85, Disabled, CPU, ATtiny85, 8 MHz (internal), EEPROM retained, B.O.D. Disabled"

Lo sketch usa 1600 byte (19%) dello spazio disponibile per i programmi. Il massimo è 8192 byte.
Le variabili globali usano 9 byte (1%) di memoria dinamica, lasciando altri 503 byte liberi per le variabili locali. Il massimo è 512 byte.
C:\Users\Utente\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude -CC:\Users\Utente\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf -v -pattiny85 -carduino -PCOM8 -b19200 -Uflash:w:C:\Users\Utente\AppData\Local\Temp\arduino_build_38274/BatteryStatus.ino.hex:i 

avrdude: Version 6.3-20171130
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2014 Joerg Wunsch

        System wide configuration file is "C:\Users\Utente\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf"

        Using Port                    : COM8
        Using Programmer              : arduino
        Overriding Baud Rate          : 19200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
        AVR Part                      : ATtiny85
        Chip Erase delay              : 400000 us
        PAGEL                         : P00
        BS2                           : P00
        RESET disposition             : possible i/o
        RETRY pulse                   : SCK
        serial program mode           : yes
        parallel program mode         : yes
        Timeout                       : 200
        StabDelay                     : 100
        CmdexeDelay                   : 25
        SyncLoops                     : 32
        ByteDelay                     : 0
        PollIndex                     : 3
        PollValue                     : 0x53
        Memory Detail                 :

                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          eeprom        65    12     4    0 no        512    4      0  4000  4500 0xff 0xff
          flash         65     6    32    0 yes      8192   64    128 30000 30000 0xff 0xff
          signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
          lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
          lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
          hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
          efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
          calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

        Programmer Type : Arduino
        Description     : Arduino

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x02

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
        Hardware Version: 4744608
        Firmware Version: 0.4611299
        Topcard         : STK502
        Vtarget         : 1.8 V
        Varef           : 0.0 V
        Oscillator      : Off
        SCK period      : 0.1 us

avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
avrdude: initialization failed, rc=-1
        Double check connections and try again, or use -F to override
        this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10

avrdude done.  Thank you.

La porta seriale selezionata 
non esiste o la scheda non è connessa

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

Chiedo scusa, sono iscritto qui da parecchio tempo e credevo di averlo già fatto. Eseguo subito

--- ti rammento che, da regolamento, è permesso fare "up" solo dopo almeno 48 ore dall'ultimo post. grazie - gpb01

Signori scusate, cosa significa fare "up"? Cosa avrò fatto di male?

Chiedendo cosa significa fare up, hai fatto up.

Vuol dire inserire un nuovo messaggio in modo da riportare in alto la discussione nell'elenco.

Ah e quindi se faccio delle precisazioni allo scopo di chiarire, sarebbe un reato?
Mah questo forum mi sembra un po' troppo sofistico per me, pensavo fosse (e credo lo sia veramente) un forum di assistenza per gli utenti arduino, non mi sembrava un giocattolo privato e casereccio gestito da 4 volenterosi.
Comunque e qui chiudo veramente, gradirei fosse cancellata questo thread. Poi provvederò ad indagare meglio sulla funzione di questo servizio stranamente legato al forum mondiale di arduino.
Saluti

inpress:
Ah e quindi se faccio delle precisazioni allo scopo di chiarire, sarebbe un reato?

Eh no, Lei NON ha fatto alcuna precisazione a scopo di chiarimento (che ovviamente sarebbe stata sicuramente ben accetta) ... il post che è stato rimosso è il seguente:

inpress:
Quindi nessuno che ha una idea? Neanche pazza?

... ovvero un sollecito che, come le riaffermo (e come ho spieganto in risposta al Suo MP), è comprensibile solo dopo almeno 48 ore dall'ultimo post.

Guglielmo

P.S.: La stessa identica regola è nel regolamento delle sezioni di lingua Inglese e che si trova QUI, al punto 13 (Don't bump!). :slight_smile:

RISOLTO
Dopo gli ultimi aggiornamenti delle schede su Arduino IDE distribuiti per i nuovi processori Arduino AVR Boards (oltre la versione 1.6.20), per chi usa ATtinyCore by Spence Konde è assolutamente necessario installare anche ATtiny Modern (sempre di Spece Konde) versione 1.0.7 o superiore.
Altrimenti si avrà sempre quell'errore che vi ho già citato all'inizio del thread.
Spero di essere stato di aiuto a qualcuno e... saluto tutti!

Mi pare strano. Uso IDE 1.8.x da un pò.
Installato solo ATTinyCore e non ATTiny modern.
Nell'elenco board infatti c'e' anche in grassetto scritto di NON usare più il modern (deprecated)
Con solo ATTinyCore mi compila tranquillamente.

Però occhio che da qualche versione è per programmare la nano che devi specificare quale bootload monta (vecchio oppure nulla=nuovo)

Infatti nid69ita non ci capisco più niente, mi ha funzionato per qualche programmazione e ora fa di nuovo problemi.

Ora mi dà questi errori
Arduino:1.8.1 (Windows 7), Scheda:"ATtiny45/85 (Optiboot), Disabled, CPU, ATtiny85, 8 MHz (external), EEPROM retained, B.O.D. Disabled"

Opzioni di compilazione cambiate, ricompilo tutto
Lo sketch usa 866 byte (11%) dello spazio disponibile per i programmi. Il massimo è 7616 byte.
Le variabili globali usano 15 byte (2%) di memoria dinamica, lasciando altri 497 byte liberi per le variabili locali. Il massimo è 512 byte.
C:\Users\Utente\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude -CC:\Users\Utente\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf -v -pattiny85 -carduino -PCOM8 -b19200 -Uflash:w:C:\Users\Utente\AppData\Local\Temp\arduino_build_938142/BlinkWithoutDelay.ino.hex:i

avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Users\Utente\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf"

Using Port : COM8
Using Programmer : arduino
Overriding Baud Rate : 19200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
AVR Part : ATtiny85
Chip Erase delay : 400000 us
PAGEL : P00
BS2 : P00
RESET disposition : possible i/o
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


eeprom 65 12 4 0 no 512 4 0 4000 4500 0xff 0xff
flash 65 6 32 0 yes 8192 64 128 30000 30000 0xff 0xff
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00

Programmer Type : Arduino
Description : Arduino

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x02

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
Hardware Version: 4744608
Firmware Version: 0.4611299
Topcard : STK502
Vtarget : 1.8 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us

avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10

avrdude done. Thank you.

La porta seriale selezionata
non esiste o la scheda non è connessa

Scusate, ora posso essere più preciso, il problema che noto è una incompatibilità di Arduino AVR Boards ver. 1.6.23 Il caos che mi si è generato dipende dal fatto che ho testato su 2 computer in contemporanea e ho fatto confusione.

Quindi ricapitolando:
Gli errori sono comparsi dall'ultimo aggiornamento alla versione 1.6.23 di Arduino AVR Boards effettuata ieri e da quel momento sono iniziati gli errori, nel frattempo si era anche aggiornato ATtinyCore by Spence Konde e qualcos'altro che non ricordo quindi non è stato facile risalire al problema.
Sono passato su altro PC aggiornando solo ATtinyCore ed ha funzionato tutto bene, poi di nuovo errori quando ho aggiornato anche Arduino AVR Boards alla versione più attuale.
Ritorna tutto a posto se downgrado alla versione 1.6.20 (versioni intermedie non ho provato ma chi le testa faccia sapere)
Mi auguro di poter trovare la soluzione al problema ai prossimi aggiornamento dell'AVR Boards. Per ora chi ha di questi problemi saprà come fare.

@nid69ita: mi pare strano che a te funzioni tutto bene perché, a meno che non si tratti di una incompatibilità con Win 7, ho usato un fisso e un portatile come test ed entrambi danno lo stesso identico problema.

Grazie a tutti e scusate

inpress:
@nid69ita: mi pare strano che a te funzioni tutto bene perché, a meno che non si tratti di una incompatibilità con Win 7, ho usato un fisso e un portatile come test ed entrambi danno lo stesso identico problema.

Confermo, MAI avuto problemi anche io anche con l'ultima versione del IDE 1.8.7. L'unica cosa è che ... mi rifiuto di utilizzare "accrocchi" (=> vari tipi di Arduino usati come programmatori) e uso sempre veri programmatori (es. AVRISP mkII, Pololu USB AVR, ecc. ecc.).

Qualche falso contatto? cavo USB rotto ?

Guglielmo

Forse non mi sono spiegato bene,intanto il problema è risolto, ma in origine sorge con gli aggiornamenti alle librerie (Arduino AVR Boards), potrebbe essere anche connesso al fatto che io ancora uso IDE ver. 1.8.1 (che a breve proverò ad aggiornare).
Di fatto viene generata una stringa di comando errata ad AVRdude che non lavora regolarmente e genera errori di porta seriale non trovata.
Se si trattasse di falso contatto o cavo rotto, perché mai dovrebbe rifunzionare quando rimetto la versione meno recente?
Riguardo considerare un accrocco un programmatore arduino utilizzato come ISP secondo me è falso, intanto perché dispone di un software molto efficiente che lo rende un ottimo programmatore.
Ma poi ha mai controllato come sono fatti gli altri che lei considera più buoni?
Io ne dispongo di parecchi tipi tra cui STK500, USBAsp, USBIsp e tutti, dico tutti dispongono di un processore Atmel mega328 o superiori adibiti al compito di programmazione e il più veloce ed affidabile rimane sempre il mio arduino ISP.
Saluti

Ho appena aggiornato IDE alla versione 1.8.7 (l'ultima) ma il difetto rimane lo stesso identico. Quindi confermo che, al momento, l'unica versione Arduino AVR Boards effettivamente funzionante è la 1.6.20

Per chi non sa come modificare.... dal menu strumenti scegliere schede
nel primo riquadro che compare in alto denominato Arduino AVR Boards puntare il mouse all'interno del riquadro, in basso a sinistra nel menu a discesa "seleziona la versione" scegliere ver. 1.5.20

Fatto, ora il programmatore tornerà a funzionare regolarmente.

Partecipo alla statistica.
IDE ultima versione, Attiny di Leo e programmatore TinyUSB, tutto funzionante.

Il problema che riscontro, come ho scritto all'inizio del thread, accade SOLO con programmatore Arduino come ISP, se uso altri programmatori non lo riscontro.
Per esempio ho testato un programmatore Olimex AVR ISP mkII e qui il problema non si crea.

L'errore di porta non trovata da parte di AVRdude si crea con tutte le versioni Arduino IDE disponibili finora, ma con installata Arduino AVR Boards 1.6.21 - 1.6.22 e 1.6.23 mentre con la versione 1.6.20 e inferiori tale problema non si presenta affatto.
Potrebbe anche dipendere dalla versione di Arduino Nano cinese che uso come programmatore ISP (infatti usa un driver seriale forse non totalmente compatibile con il driver standard) ma la cosa strana rimane sul perché le nuove versioni di AVR Boards non funzionino più mentre le vecchie vanno perfettamente.

Chi vorrà verificare per fare statistiche e trovare se riscontra gli stessi errori dovrà testare con i medesimi componenti:

  • Arduino IDE di qualunque versione
  • Programmatore Arduino ISP
  • versione di AVR Boards superiore alla 1.6.20

Preciso ancora che la versione di AVR Boards (indipendentemente dalla versione del software IDE) può essere modificata a piacimento entrando su Strumenti > Gestione Schede > ...

L'allegato precisa di cosa parlo il riquadro rosso è quello incriminato sul riquadro verde si può vedere la versione funzionante