Giocando con l'Attiny85

Ho riprovato questa volta ho usato ArduinoISP dell'IDE 1.0 e ha funzionato, non so perché avevo provato con Tinyisp, forse perché quando ho caricato il bootloader su 328 funzionava solo con quello.
Conclusione con ARDUINO UNO Rev3, IDE 1.0 , ArduinoIsp, Attiny85 su breadboard con :
PIN ATTINY85 PIN ARDUINO
4 GND
8 +5V
1 10
5 11
6 12
7 13
fuse modificati correttamente:

C:\Users\mario\Desktop\Arduino\arduino-1.0\hardware\tools\avr\bin>avrdude -P COM
23 -C avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b 19200

avrdude: please define PAGEL and BS2 signals in the configuration file for part
ATtiny85
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.13s

avrdude: Device signature = 0x1e930b
avrdude: reading input file "0xe2"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.12s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xe2:
avrdude: load data lfuse data from input file 0xe2:
avrdude: input file 0xe2 contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.04s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude: safemode: Fuses OK

avrdude done. Thank you.
:smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley:

Quindi, ricapitoliamo.

Con ARDUINO IDE 1.0:

  • lo sketch ArduinoISP funziona per programmare i Tiny in standalone ma NON funziona con gli Atmega328
  • lo sektch TinyISP funziona con gli Atmega328 ma NON funziona con i Tiny?

Curioso... Bisognerebbe avere altre verifiche.

Da quanto mi risulta è così, attendo anch'io altre conferme :roll_eyes:

Programmazione Attiny85:
Configurazione come precedente lato hardware.
Software Tinyisp, con ArduinoIsp non funziona.
Board: ATtiny85 @ 8 MHz (internal oscillator; BOD disabled)
Programmer : Arduino as Isp
Sketch:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
  Attiny85 
  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output.
  // Pin 0 has an LED connected on most Attiny85:
  pinMode(0, OUTPUT);     
}

void loop() {
  digitalWrite(0, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(0, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

il blink è corretto, circa 1 secondo

A voi le consclusioni.

Con ARDUINO IDE 1.0:

  • lo sektch TinyISP funziona con gli Atmega328 ma NON funziona con i Tiny?

Io programmo senza problemi ATtiny84 e 85 con TinyISP...

EDIT: con ArduinoISP ottengo sempre "out sync" sia con il 328 che con gli ATtiny

Preciso che io eseguo l'operazione di trasferimento direttamente da IDE 1.0 (anche il burn del Bootloader per cambiare i fuse), senza mai usare il comando avrdude da shell.

Uhm... c'è una bella casistica.. che però si contraddice :sweat_smile:
Bisognerebbe a questo punto postare la configurazione del proprio sistema, cominciando dalla versione dell'IDE e del core Tiny usati, il modello di Arduino, la versione del bootloader montata sull'Arduino, lo sketch ISP usato, il tipo di SO usato e le versioni dei tool della toolchain Avr, altrimenti non ne veniamo fuori

in piu' c'e' anche il discorso SO, perche' su linux come tu stesso hai detto, la toolchain e' diversa.

io non ho ancora Attiny a disposizione quindi non posso provare, posso solo confermare quanrto esposto nella mia guida, e cioe' che arduinoisp.ino, quindi ide1.0, su windows non funziona, testato con 328P e con 8A, mentre il tinyisp.ino funge

@testato:
sì, ho specificato di... specificare l'SO proprio perché la versione per Windows include la toolchain mentre quella per Linux no.

non avevo letto bene :slight_smile:
resta assurdo il comportamento del team su questa questione, cioe' arduinoisp non funziona UFFICIALMENTE, perche' l'autore di tinyisp mi ha assicurato di aver avvertito il team, e non lo sistemano.
che strano :cold_sweat:

Do' il mio contributo:

Configurazione funzionante testata su ATMega328 e modelli ATtiny84/85:

Versione IDE: 1.0
Core tiny: arduino-tiny-0100-0012 (ma anche altre versioni)
Modello Arduino: Uno
Versione bootloader: ??? (cmq quella originale di Arduino UNO)
Sketch ISP: TinyISP di Testato
Sistema Operativo: Window 7
Toolchain: avr-gcc 4.3.2; binutils-avr 2.19; avr-libc 1.6.4

Bootloader: che versione di ArduinoUNO hai ?

ci sono 3 release, le prime due hanno il 4.0 e la UNOr3 ha il 4.4

Toolchain: avendo windows e' fissa, integrata nell'installazione, oppure l'hai installata a parte ?

grazie del test :slight_smile:

Bootloader: ho la prima release di UNO quindi di certo sarà la versione 4.0.

Toolchain: credo sia irrilevante. Nel senso che ho usato per mesi senza problemi quella fissa, integrata nell'installazione dell'IDE 1.0, solo qualche giorno fa' ho installato l'ultima versione di WinAVR (che cmq aveva le stesse versioni pubblicate sopra) ma solo per i motivi spiegati nel post:
http://arduino.cc/forum/index.php/topic,96135.0.html

Prego, è un piacere collaborare :slight_smile:

Per precisare, S.O. da me usato Windows 7 64bit ultimate, IDE 1.0 , Arduino UNO Rev.3, Tinyisp di Testato, libreria da Google Code Archive - Long-term storage for Google Code Project Hosting. ultima release

@dalubar:
le versioni dei tool della toolchain non sono indifferenti. Ci sono diversi bug sulle versioni recenti e su SO come Linux te ne accorgi molto più che con Windows, dato proprio che sono strumenti in continuo aggiornamento rispetto alla versione statica distribuita con l'IDE.

@testato:
credo che la questione Optifix dimostri la lentezza con cui certe scelte sono prese dal team. C'è voluto 1 anno esatto prima di rilasciare un bootloader che funzionasse con lo sketch ArduinoISP (dal settembre 2010, mese in cui uscì l'Arduino UNO, fino all'anno successivo, quando hanno iniziato a vendere l'Arduino UNO R3). E non parliamo del fatto che quel bootloader non solo aveva il problema con l'ArduinoISP ma anche il bug, ben più grave, relativo agli sketch di dimensioni maggiori di 30K.
E' un po' come quando qualche mese fa chiesi perché non allegavano anche all'IDE per Linux la toolchain ufficiale Atmel e lo stesso Massimo mi rispose che erano i team di sviluppo delle distribuzioni che non volevano. Mi pare une specie di scaricabarile. Mio personalissimo punto di vista.

non sapevo del primo parto lungo essendo meno di un anno che frequento
interessante concetto :slight_smile:

Come detto qui:
http://arduino.cc/forum/index.php/topic,96135.15.html

ho modificato avrdude.conf aggiungendo nelle sezioni Attiny84 e Attiny85
pagel = 0xB3;
bs2 = 0xB4;

non esce più il warning del pagel caricando gli sketch su Attiny85 XD

ciao Leo, tempo fa avevo sentito che avevi risolto i problemi sulla connessione seriale in ricezione per i tiny, ma non l'ho ancora provato :sweat_smile: funziona?
sono stato un po' assente dal forum ultimamente, ho visto che hai messo un link con una cartella con tanta bella roba sui tiny, c'è già dentro la libreria per la seriale aggiornata? grazie! :wink:

Configurazione funzionante su mac:
board: arduino 1
ide: 1.0
programmer: tinyisp

e per velocizzare il flashing ho fatto un bel programmer con una millefori :grin:

er_like_no_other:
ciao Leo, tempo fa avevo sentito che avevi risolto i problemi sulla connessione seriale in ricezione per i tiny, ma non l'ho ancora provato :sweat_smile: funziona?
sono stato un po' assente dal forum ultimamente, ho visto che hai messo un link con una cartella con tanta bella roba sui tiny, c'è già dentro la libreria per la seriale aggiornata? grazie! :wink:

Funziona tutto. Se scarichi l'ultima versione della guida dal mio sito (www.leonardomiliani.com sez. arduino) ci sono tutte le modifiche per far funzionare correttamente I2C e Seriale sui Tiny.

Avete provato se con la nuova toolchain di ATMEL si possono programmare i tiny con ArduinoISP?