errore comunicazione USBtinyISP - Arduino

Mi sa che è il firmware Adafruit. Se l'hanno messo perfino nelle FAQ. (anche se loro dicono di no, ovviamente) --> https://learn.adafruit.com/usbtinyisp/help

Non l’ho mai provato ma una alternativa, se non devi caricare proprio il bootloader e non ti servono tutti i 32K ma puoi lasciare in cima alla flash il bootloader di Arduino è caricare il tuo hex collegando l’arduino via USB al PC (come per programmarlo normalmente col suo IDE) e usare Xloader:

http://xloader.russemotto.com/

Sulla basetta per la programmazione io ci ho montato anche un socket ZIF così non si fa neanche fatica a infilare e sfilare il chip! :wink:

Eventualmente si potrebbe passare all’mkII non costa una follia e a me non sbaglia un colpo!

sisuino:
Eventualmente si potrebbe passare all’mkII non costa una follia e a me non sbaglia un colpo!

+1
… altamente consigliato … almeno vi fate un VERO programmatore. Se poi volete esagerare … AVR Dragon e non ci pensate più :smiley: :smiley: :smiley:

Guglielmo

Meglio l'ICE a questo punto --> http://www.atmel.com/tools/atatmel-ice.aspx

E c'è anche la versione Dragon Style, ovvero solo PCB.

PaoloP: Meglio l'ICE a questo punto --> http://www.atmel.com/tools/atatmel-ice.aspx

... detto tra noi ... c'ho tutti e tre (mkII, Dragon, ICE) :D :D :D

Guglielmo

purtroppo da GBC non avevano il quarzo da 16MHz... Sono costretto ad aspettare che arrivi per posta. Visto che parlate di programmatori, quali sarebbero i vantaggi di un programmatore avanzato come l'ICE o il dragon? Vengo dall'ambiente microchip, in cui il programmatore di riferimento è uno solo, il PICkit 2 (o la nuova versione 3). Sono incuriosito dal fatto che per i chip atmel invece esistano così tante versioni di programmatori. Abbiate pazienza ::)

In realtà NON sono programmatori diversi, ma "strumenti" diversi ...

AVRISP mkII è un programmatore per chip AVR

AVR Dragon è un programmatore ed uno strumento di debug per chip AVR sia 8 che a 32 bit

Atmel ICE è un programmatore ed un strumento di debug per ... praticamente tutti i chip Atmel (AVR e ARM).

Per i dettagli ti rimando ai vari link ;)

Guglielmo

Dunque, intanto vi confermo che col mio mkII se non alimento la board Arduino in qualche modo (ad es via usb) non riesco a leggere nessun dato (tipo la device signature o i fuse) e mi torna un errore di questo tipo:

20:37:38: [WARNING] Read voltage 0,0V is outside selected device's operating range: 1,8 V to 5,5 V.
20:37:44: [ERROR] Failed to enter programming mode. ispEnterProgMode: Error status received: Got 0xc0, expected 0x00, ModuleName: TCF (TCF command: Device:startSession failed.)
20:37:44: [WARNING] Read voltage 0,0V is outside selected device's operating range: 1,8 V to 5,5 V.
20:37:46: [ERROR] Internal error: null sent as device context when trying to tear down programming session.

Le differenze tra i vari programmatori stanno sostanzialmente nelle possibilità/caratteristiche/protocolli di debug che offrono sui vari micro/famiglie della Atmel (se non sbaglio sono quasi 300).

sisuino: Dunque, intanto vi confermo che col mio mkII se non alimento la board Arduino

... anche sulle schede per programmare chip standalone li devi alimentare. Il AVRISP mkII verifica che l'alimentazione ci sia e te lo indica pure con il LED (rosso o verde).

Guglielmo

Si, giusto. Qualcuno prima aveva ipotizzato che i 5V del connettore ISP alimentassero il micro. In realtà viene usato dall'mkII proprio per verificare se è alimentato. Ho ritrovato anche il link con la nota in proposito:

http://www.atmel.com/webdoc/avrispmkii/avrispmkii.intro_connecting.html

Silvio

sisuino: ... In realtà viene usato dall'mkII proprio per verificare se è alimentato ...

In realtà fa molto di più :

The AVRISP mkII does not provide power on the Vcc pin, but uses this pin to sense the voltage on the target circuitry. Your circuit needs to be powered by external means to operate.

Ovvero riconosce a che tensione è alimentato il chip che stai programmando ... altrimenti ... sai le "fumate" con i chip alimentati a 3.3V e anche meno ;)

Guglielmo

C’è un altro problema: il chip che stai usando è settato per quarzo 16MHz e bootoloader; con avrdudess, una volta risolto il problema della comunicazione, oltre a caricare il file hex dovrai settare i fuse per la mancanza di bootloader, altrimenti facilmente il firmware non sarà eseguito.

Ragazzi, Guglielmo e Paolo in particolare, scusate se ho omesso i più cari saluti per voi, sono macinato da super-lavoro e davvero non riesco più a trovare tempo per il Forum. Vi abbraccio, per Roma spero di esserci ma la vedo male per come sono messe le cose, ci teniamo aggiornati.

[quote author=Michele Menniti date=1441700583 link=msg=2388429] Vi abbraccio, per Roma spero di esserci ma la vedo male per come sono messe le cose, ci teniamo aggiornati. [/quote] ... ciao Michele !!! :)

Dai, dai, un piccolo sforzo ... ... vieni su venerdì sera e riparti domenica mattina ... come faccio io (... in direzione opposta però :D).

Guglielmo

gpb01: Dai, dai, un piccolo sforzo ... ... vieni su venerdì sera e riparti domenica mattina ... come faccio io (... in direzione opposta però :D)

Ciao Michele.

OT E' più facile arrivare dalla Svizzera a Roma che non da casa di Michele. FINE OT

[quote author=Michele Menniti link=msg=2388413 date=1441699828] C'è un altro problema: il chip che stai usando è settato per quarzo 16MHz e bootoloader; con avrdudess, una volta risolto il problema della comunicazione, oltre a caricare il file hex dovrai settare i fuse per la mancanza di bootloader, altrimenti facilmente il firmware non sarà eseguito. [/quote]

Oltre al file hex conosco anche i fuse che dovrei settare. Ho visto però che in AVRDUDESS nella parte dei fuse manca la sezione "Calibration" che dovrebbe essere settata come 0xFFFFFFAA. È un dato che potrei omettere senza conseguenze?

sisuino: per programmare il micro passo per Atmel Studio: c'è un dialog attraverso il quale verificare la connessione con il micro, modificare i FUSE, e flashare (o ripulire) un .hex

Magari vale la pena di fare un tentativo usando questo IDE.

se vuoi usarlo con avrstudio segui questa guida: www.dmxpassion.altervista.org/varie/Programmare%20ATMEL%20tiny.pdf scarica dal mio sito http://www.dmxpassion.altervista.org/pg004.html

icio: se vuoi usarlo con avrstudio segui questa guida: www.dmxpassion.altervista.org/varie/Programmare%20ATMEL%20tiny.pdf scarica dal mio sito http://www.dmxpassion.altervista.org/pg004.html

grazie, eseguo prova non appena ricevo i componenti mancanti.

Ho realizzato un PCB con componenti SMD seguendo lo schema del prof. Menniti. Non appena inserisco il cavo USB del programmatore il LED rosso inizia a lampeggiare ed eseguendo qualunque comando con AVRDUDESS ricevo il solito messaggio di errore: avrdude: Initialization failed, rc=1

Stesso risultato insomma che si ottiene collegandosi al chip inserito nell'arduino. È chiaro che il bootloader precaricato interferisce con i comandi di avrdude e impedisce la programmazione. Ho ordinato nel frattempo un chip vergine di fabbrica.

demonoid: È chiaro che il bootloader precaricato interferisce con i comandi di avrdude e impedisce la programmazione. Ho ordinato nel frattempo un chip vergine di fabbrica.

... BALLE !!!

E' chiaro che hai montato male qualche cosa, perché NON ho mai riscontrato il problema che descrivi né con chip con il bootloader né con quelli senza (... e, né con adattatori autocostruiti, né con adattatori comprati). Inoltre, al programmatore ISP, del bootloader, "nun je ne po' frega' de meno " :grin:

Se lampeggia è perché qualche segnale è errato.

Guglielmo