Problemi Programmazione ISP

Ho caricato direttamente il blink e solo questo con Upload Using Programmer.

I fuse, ho impostato come Board Arduino Uno.

Necessita qualcos'altro?

Carletto

OK, ho caricato prima il bootloader e poi il mio sketch e tutto funziona.

Grazie Menniti.

Carletto.

carletto:

[quote author=Michele Menniti link=topic=106026.msg798443#msg798443 date=1337372082]

Invece è possibilissimo che i fuse siano sballati, ma prima di caricare lo sketch hai messo il bootloader?

OK, ho caricato prima il bootloader e poi il mio sketch e tutto funziona.

Grazie Menniti.

Carletto.

[/quote]
Ottimo, scusa se non ti ho risposto prima ma sono alle prese con il mio primo PCB interamente SMD e tutto su monofaccia, sbrogliare le piste quando Eagle arriva lassimo al 70% non è proprio una cosa semplice. Il caricamento del bootloader è l'unica operazione che ti permette di modificare i fuse, dopo puoi cricare qualsiasi sketch, il bootloader viene cancellato ma i fuse restano con i valori necessari e tutto funziona, come hai visto.
Ciao Carletto!
:slight_smile:

Carletto questa e' una conferma interessante, non ricordo se era gia' stata testata, cioe' nonostante nell'IDE 1.0 sia stato ufficialmente inserita la possibilita' di caricare sketch via programmatore, non e' stato modificato il comportamento nella gestione dei Fuse.
Secondo me sarebbe stato sia possibile, sia comodo, fare in modo che anche i fuse si cambiassero caricando il solo sketch.

Non so se e' una politica o se non ci hanno mai pensato

Non penso che sia una scelta voluta: semplicemente quando carichi uno sketch non fai alcun controllo, se invece carichi il bootloader al minimo devi verificare l'area di partenza che, come sappiamo, si torva nella parte più alta della memoria, ed ha quattro possibili diversi indirizzi; probabilmente in questo caso lui sa di dover far riferimento ai settaggi della board (se non altro per le differenze tra il bl di UNO e Duemilanove) e quindi setta i fuse in base a quanto legge nella board. Mi sembra molto plausibile la cosa, senza che cerchiamo per forza una scelta politica.

Testato:
Carletto questa e' una conferma interessante, non ricordo se era gia' stata testata, cioe' nonostante nell'IDE 1.0 sia stato ufficialmente inserita la possibilita' di caricare sketch via programmatore, non e' stato modificato il comportamento nella gestione dei Fuse.
Secondo me sarebbe stato sia possibile, sia comodo, fare in modo che anche i fuse si cambiassero caricando il solo sketch.

Non so se e' una politica o se non ci hanno mai pensato

Guarda, io continuo sulla mia linea di pensiero. Ossia che essendo l'IDE nato per programmare l'Arduino, gli sviluppatori non hanno visto la necessità di modificare i fuse dato che l'Atmega è e deve rimanere sempre impostato in un certo modo, ossia lavorare con un clock esterno a 16 MHz.

quoto Leo aggiungendo che una delle fortune di arduino è il gui semplicissimo rispetto agli altri ide.

Ringrazio nuovamente tutti per i suggerimenti ricevuti, ma avrei
ancora una domanda, dovrei programmare un ATTINY85 che mi
dovrebbe arrivare a giorni. Quale board devo impostare?

Con ATmega328p ho impostato la board "Arduino Uno" per
per caricare "TinyISP"
e ho lasciato questa board per caricare anche lo sketch.

Grazie

Carletto

Per i Tiny ci vuole una board apposita. Ti segnalo questa pagina:
http://www.leonardomiliani.com/?page_id=374
da cui puoi scaricare la mia guida per i Tiny e dove hai anche la board per programmare i Tiny dall'IDE.

Quando mi arriveranno gli ATtiny85 mi metterò
subito al lavoro.

Grazie leo72

Carletto.

BrainBooster:
quoto Leo aggiungendo che una delle fortune di arduino è il gui semplicissimo rispetto agli altri ide.

Ma la gui non verrebbe toccata, ora se si preme boot bootloader i fuse vengono programmati, ma se si preme carica mediante programmatore non vengono programmati. E ' solo una modifica lato sw, non di gui.

cmq ho pensato ad un possibile altro motivo, se i fuse venissero programmati durante upload del solo sketch, caricando 100 volte, in fase progettuale, il micro, per 100 volte si andrebbe a modificare i fuse inutilmente, che non e' un operazione di scrittura in flash.
Sarebbe quindi dannoso per il micro.
L' Accendiamo?

e quindi ci vorrebbe una zona dell'ide per la configurazione del comportamento dei fuses... = modifica dei gui :slight_smile: , io intendevo quello, nel senso di aggiunte di menù/voci ecc...

Testato:
cmq ho pensato ad un possibile altro motivo, se i fuse venissero programmati durante upload del solo sketch, caricando 100 volte, in fase progettuale, il micro, per 100 volte si andrebbe a modificare i fuse inutilmente, che non e' un operazione di scrittura in flash.

La modifica avviene solo se cambi il valore del fuse da 1 a 0, una volta fatto anche se vai a riscriverlo in realtà non viene eseguita nessuna scrittura, il limite delle riscritture dei fuse, ipotizzando di cancellarli ad ogni programmazione, è >= a quello della flash pertanto non esiste nessun problema.
In realtà i fuse si possono trovare sia su memoria flash che memoria EEPROM all'interno di aree protette, dipende dalle scelte operate in fase di progettazione del chip, vale per tutti i produttori.

astrobeed:

Testato:
cmq ho pensato ad un possibile altro motivo, se i fuse venissero programmati durante upload del solo sketch, caricando 100 volte, in fase progettuale, il micro, per 100 volte si andrebbe a modificare i fuse inutilmente, che non e' un operazione di scrittura in flash.

La modifica avviene solo se cambi il valore del fuse da 1 a 0, una volta fatto anche se vai a riscriverlo in realtà non viene eseguita nessuna scrittura, il limite delle riscritture dei fuse, ipotizzando di cancellarli ad ogni programmazione, è >= a quello della flash pertanto non esiste nessun problema.
In realtà i fuse si possono trovare sia su memoria flash che memoria EEPROM all'interno di aree protette, dipende dalle scelte operate in fase di progettazione del chip, vale per tutti i produttori.

ergo... il vero problema è che la programmazione di sketch via ISP non è mai stata contemplata, è una cosa che ci siamo "inventati" noi, aprendo un mondo spaventosamente grande di sperimentazione ed applicazioni, andando oltre i limiti e confini (L. Battisti) di Arduino. Forse ora che è un dato di fatto si potrebbe prendere in considerazione l'attivare un banale flag o, come santamente dice Astro, "riscriverli" ogni volta che tanto, se sono a 0 non si riscrive nulla e se anche si riscrive il limite resterebbe quello della memoria flash. Ma qui ci sarebbe da aprire un discorso che, fatto in questo momento, dopo la storia di ieri, potrebbe sembrare polemico e io francamente di fare polemica non ne ho alcuna voglia. Certo ho imparato a ignorare certi appelli, per non sentirmi poi nel tempo preso per i fondelli, e qui chiarisco che il discorso è GENERALE, riguarda la mia vita e NON (o almeno non solo) Arduino.

Però dalla versione 1.0 in poi è previsto l'uso di un programmatore hardware, o Arduino con lo sketch ISP, per scrivere lo sketch su Arduino senza usare il bootloader, quindi è un problema molto relativo :slight_smile:
Non voglio fare il polemico, però sarebbe ora di abbandonare la versione 0022/0023 e migrare verso la versione 1.0.1, ora disponibile come definitiva, perché già adesso cominciano ad apparire sketch e librerie compatibili solo con la 1.x, entro breve tempo l'uso delle versioni precedenti sarà relegato solo alla compilazioni di vecchi sketch/librerie.
Proprio in questi giorni sto realizzando per conto di Droids (Robot Italy) un software per Arduino abbinato ad un particolare hardware (tutti e due saranno open), non mi chiedete i dettagli perché per il momento non posso anticipare nulla (segreto industriale :smiley: ), e ho scelto di utilizzare l'IDE 1.0.1 per svilupparlo perché non si può rimanere legati al passato.

astrobeed:
e migrare verso la versione 1.0.1, ora disponibile come definitiva,

E' vero, nella sezione download è comparsa la 1.0.1 definitiva. Scarichiamola, va'.

Grazie astro per l' intervento.
Brain forse non ci capiamo. Non serve nessun nuovo menù poter fare ciò che dico io , e che avrebbe fatto risparmiare tempo a
molti esempi tipo questo a cui siamo rispondendo.
Cioe quando si carica il solo sketch, via ide 1.0 che ufficialmente prevede questa attivit von apposito menù, i fuse presenti nella board devono essere programmati nel micro, senza essere costretti a caricare il bootloader

astrobeed:

[quote author=Michele Menniti link=topic=106026.msg801788#msg801788 date=1337674119]
ergo... il vero problema è che la programmazione di sketch via ISP non è mai stata contemplata, è una cosa che ci siamo "inventati" noi, aprendo un mondo spaventosamente grande di sperimentazione ed applicazioni, andando oltre i limiti e confini (L. Battisti) di Arduinoolo) Arduino.

Però dalla versione 1.0 in poi è previsto l'uso di un programmatore hardware, o Arduino con lo sketch ISP, per scrivere lo sketch su Arduino senza usare il bootloader, quindi è un problema molto relativo :slight_smile:
Non voglio fare il polemico, però sarebbe ora di abbandonare la versione 0022/0023 e migrare verso la versione 1.0.1, ora disponibile come definitiva, perché già adesso cominciano ad apparire sketch e librerie compatibili solo con la 1.x, entro breve tempo l'uso delle versioni precedenti sarà relegato solo alla compilazioni di vecchi sketch/librerie.
Proprio in questi giorni sto realizzando per conto di Droids (Robot Italy) un software per Arduino abbinato ad un particolare hardware (tutti e due saranno open), non mi chiedete i dettagli perché per il momento non posso anticipare nulla (segreto industriale :smiley: ), e ho scelto di utilizzare l'IDE 1.0.1 per svilupparlo perché non si può rimanere legati al passato.

[/quote]
Astro, che è successo al mio testo che hai quotato :astonished:? io non avevo commesso errori, una volta tanto :~ Concordo con te sul fatto di non restare legati al passato, ma l'IDE 1.0 aveva Arduino ISP non funzionante ed io è forse l'unica cosa che uso di Arduino, perché mi dovevo sbattere a farlo funzionare visto che non mi agevolava in alcun modo? Ora scarico la 1.0.1, ma non c'era già una 1.0.2-rc? quasi quasi aspetto un altro pochino :smiley: Comunque avevo avuto problemi a farla funzionare, ma era la fretta di quei giorni; con calma riprendo la cosa.

C'era la 1.0.1RC2.
Cmq titubo a passare alla famiglia 1.0.x per via del core Tiny che uso abitualmente e a cui alcune nuove librerie mal si adattano.
Trovassi versioni aggiornate delle librerie per la seriale software o l'I2C che girano sul core Tiny 1.0 non avrei problemi a fare il salto. E come me penso sia anche Mike nei miei stessi panni.

leo72:
C'era la 1.0.1RC2.
Cmq titubo a passare alla famiglia 1.0.x per via del core Tiny che uso abitualmente e a cui alcune nuove librerie mal si adattano.
Trovassi versioni aggiornate delle librerie per la seriale software o l'I2C che girano sul core Tiny 1.0 non avrei problemi a fare il salto. E come me penso sia anche Mike nei miei stessi panni.

possiamo tranquillamente scambiarci le mutande :grin: