Arduino Forum

International => Italiano => Software => Topic started by: Punkrazio on Nov 01, 2012, 03:21 pm

Title: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on Nov 01, 2012, 03:21 pm
Immagino che, come buona parte dei tread aperti da noi niubbi, quello che mi serve sia nascosto nei meandri del forum ma con tutta la buona volontà ancora non sono riuscito a scovarlo.
Innanzitutto un grazie gigantesco a menniti che con la sua guida mi ha risparmiato molto tempo perso in ricerche.
Ma veniamo al punto.

Sto provando a costruire il transistor tester che vi linko qui http://translate.google.com/translate?prev=hp&hl=en&js=y&u=http%3A%2F%2Fwww.mikrocontroller.net%2Farticles%2FAVR-Transistortester&sl=de&tl=en&history_state0= (http://translate.google.com/translate?prev=hp&hl=en&js=y&u=http%3A%2F%2Fwww.mikrocontroller.net%2Farticles%2FAVR-Transistortester&sl=de&tl=en&history_state0=)
Ovviamente non funziona altrimenti non starei qui a scrivervi :)
Essendo la prima volta che mi avventuro nella costruzione di un pcb con atmega in stand alone non so cosa sto sbagliando ma sospetto fortemente che dipenda dalla programmazione dell'atmega.
In più, a complicare le cose, c'è il fatto che il progetto prevede il caricamento di due file (uno hex e l'altro eep per i caratteri nell'LCD) direttamente nell' atmega8.
Da giorni sto cercando informazioni in rete ma sono sicuro che sto sbagliando qualche cosa. Prima di perdere ulteriore tempo nella ricerca del problema nel posto sbagliato chedo aiuto agli esperti
Se qualcuno di voi è disponibile ad aiutarmi questo è quello che ho fatto:

Il progetto prevede il caricamento dell'hex e dell'eep in un atmega 8 che funzioni con l'oscillatore interno ad 1MHz e abbia i fuses impostati così: low-c1, high-d9
Grazie alla splendida guida del menniti ho realizzato il collegamento isp tra un adruino uno smd e una bread board con tutto il necessario compreso il quarzo a16MHz.
A questo punto ho modificato il file board aggiungendo una scheda sulla base della mega8 ma con i fuses richiesti e il clock a 1Mz . Questo è il codice che ho scritto:


atmegax8.name=ATmegax8

atmegax8.upload.protocol=stk500
atmegax8.upload.maximum_size=7168
atmegax8.upload.speed=19200

atmegax8.bootloader.low_fuses=0xc1
atmegax8.bootloader.high_fuses=0xd9
atmegax8.bootloader.path=atmega8
atmegax8.bootloader.file=ATmegaBOOT.hex
atmegax8.bootloader.unlock_bits=0x3F
atmegax8.bootloader.lock_bits=0x0F

atmegax8.build.mcu=atmega8
atmegax8.build.f_cpu=1000000L
atmegax8.build.core=arduino


Ho caricato lo sketch arduino isp nell'arduino poi ho bruciato il bootloader nella mega8 per impostare i fuses.
Fino a qui credo di non aver sbagliato niente ma ora viene il bello.
Ho capito che il modo migliore per caricare i file sarebbe utilizzare avr dude ma non riesco neanche a trovarlo.
Ad ogni modo ho provato in tutti questi modi:

° Ho aperto lo sketch Blink e compilato. aperto la cartella temporanea e sostituito i file .hex .eep con quelli da caricare, opportunamente rinominati. uplodato il tutto

° Ho aperto uno sketch vuoto e riempito soltanto con void setup e void loop. Salvato, compilato, sostituito i file come sopra e uploadato.

°  Ho scaricato avr uploader e dopo aver selezionato il solo file .hex l'ho caricato utilizzando sempre l'arduino come isp

° Ho ripetuto tutti i passaggi con la breadboard senza il quarzo da 16MHz e condensatori da 22pF.

Dimenticavo, per verificare il funzionamento del collegamento ISP e del cablaggio della breadboard ho provato a caricare lo sketch blik ed effettivamente ha funzionato ma con una lentezza assurda. Purtroppo ora non ricordo con quali impostazioni di clock l'ho fatto... :smiley-roll-sweat:

Cosa posso aver sbagliato?

In realtà questa intendeva essere una replica al post della guida ma a quanto pare la sezione generale del forum è stata sigillata da equitalia   :P
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: PaoloP on Nov 01, 2012, 04:10 pm
Avrdude lo trovi nell'IDE di Arduino --> arduino_1.0.1\hardware\tools\avr\bin

--> http://arduino.cc/forum/index.php?topic=69499.0

Per vedere i comandi dell'IDE, metti la spunta nelle preferenze in "mostra output verboso" upload.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on Nov 01, 2012, 06:35 pm
In effetti quel file
Quote
Avrdude lo trovi nell'IDE di Arduino --> arduino_1.0.1\hardware\tools\avr\bin

l'avevo già trovato ma avviandolo mi si apre e chiude istantaneamente la finestra quindi l'avevo escluso

Ed anche questo post
Quote
--> http://arduino.cc/forum/index.php?topic=69499.0

l'avevo già incontrato nelle varie ricerche ma, dopo averlo scorso velocemente, sono passato oltre perchè credevo non fosse attinente.
Adesso lo approfondisco subito,

Grazie!
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: uwefed on Nov 01, 2012, 07:23 pm
Nel articolo fanno riferimento a una altra pagina dove viene continuato lo sviluppo del progetto.
http://www.mikrocontroller.net/articles/AVR_Transistortester
Quella versione (Markus) puó misurare anche induttanze.

Ciao Uwe
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on Nov 01, 2012, 11:42 pm
...he he he pensavo che optibot fosse un programma per caricare i file dell'ATmega...
Adesso ho letto più attentamente il tread e il pdf di avrdude e ho provato al volo con una stringa più o meno fantasiosa.
Ovviamente non ha funzionato ma domani cerco di capire meglio cosa devo fare.
Nel frattempo se qualcuno è così buono dal darmi degli indizi... :D

questo comunque è il testo che si presenta in avrdude:

Code: [Select]
C:\Users\Tazio\Desktop\arduino-0022\hardware\tools\avr\bin>avrdude -C avrdude.co
nf -P \\.\COM3 -U lfuse :w:0xc1:m -U hfuse :w:0xd9:m -U flash :W:C:\Users\Tazio\
Desktop\transistortester\Firmware\Transistortester.hex:i -U eeprom :w:C:\Users\T
azio\Desktop\transistortester\Firmware\Transistortester.eep:i -p m8 -c stk500 -b
19200
avrdude: successfully opened stk500v1 device -- please use -c stk500v1

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

        To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "lfuse ("
avrdude: error opening lfuse (: No such file or directory
avrdude: input file lfuse ( auto detected as invalid format
avrdude: can't open input file lfuse (: No such file or directory
avrdude: write to file 'lfuse (' failed

avrdude: safemode: Fuses OK

avrdude done.  Thank you.


Ho eliminato i comandi relativi ai fuses (che ho copiato dalla fuse calculetor) e a quel punto l'errore nel report ha riguardato la flash e non più il lfuse.

una buona notte gente
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on Nov 01, 2012, 11:56 pm
Non devi scrivere:
Code: [Select]
-U lfuse :w:0xc1:m

ma
Code: [Select]
-U lfuse:w:0xc1:m
Il parametro è "-U", il resto dei dati va scritto tutto attaccato, altrimenti avrdude pensa che :w:0xc1m sia un altro parametro. Questo vale per tutti gli "-U" usati.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on Nov 02, 2012, 12:24 pm
GRANDISSIMO!!!
Adesso va alla grande!
Grazie mille.
Cmq non sarebbe male se nella guida il Menniti agiungesse un capitolo sulle basi della programmazione con avrdude.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on Nov 02, 2012, 07:45 pm
Cmq per tua conoscenza l errore che facevi inizialmente è un Po nascosto. Semplicemente quando da Ide premi il tasto Upload, lui prima ricompila e poi carica. Quindi se anche avevi sostituito i file hex di blink, l ide li ha risostituiti con blink stesso  :)

Altra opzione  per caricare hex  è usare l apposito comando presente nel nuovo IDE, leggi la mia guida in firma
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on Nov 03, 2012, 07:44 pm
Quote
Semplicemente quando da Ide premi il tasto Upload, lui prima ricompila e poi carica. Quindi se anche avevi sostituito i file hex di blink, l ide li ha risostituiti con blink stesso 

Maledetto IDE! Avevo questo sospetto ma non avevo ancora pensato di provare l'ATmega con il circuito blink.

Quote
leggi la mia guida in firma

Grazie della segnalazione, non sapevo esistesse la guida. Ho abbandonato precocemente l'IDE 1 ma adesso mi do una letta alla guida.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on Nov 03, 2012, 08:03 pm

Cmq non sarebbe male se nella guida il Menniti agiungesse un capitolo sulle basi della programmazione con avrdude.

Intanto grazie per i complimenti ed il feedback. Riguardo AVRDUDE per la verità sto scrivendo molto ma molto di più che un banale capitolo, sto scrivendo una Guida tutta sua ;) ma ci vuole tempo ed ho in contemporanea mille altre cose da portare a compimento :smiley-sweat:
Comunque per ora ti dò un suggerimento: copiati l'intera cartella AVR in C:\ e metti sempre in C:\ il file da uploadare, così ti agevoli la vita con i percorsi, per leggere la tua sintassi mi stavo cecando :smiley-eek-blue:
Riguardo il resto mi pare d'aver capito che tu abbia risolto, comunque dopo aver settato un micro per un dato clock, devi creare la relativa board e compilare il file da caricare con quella board, altrimenti sballano i tempi, probabilmente hai caricato un blink compilato per 16MHz, ecco perché ti lampeggiava con grande lentezza.
Aggiungo che fa piacere vedere che un nuovo utente abbia parecchio cercato e smanettato prima di chiedere aiuto; se tutti facessero come te ci si sarebbe risparmiati non meno di un migliaio di Topic inutilmente duplicati; la gente a volte apre un Topic identico a quello presente nella pagina principale della sezione, davvero ridicolo.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on Nov 04, 2012, 08:47 am
Quote
Aggiungo che fa piacere vedere che un nuovo utente abbia parecchio cercato e smanettato prima di chiedere aiuto[\quote]
Grazie, anche se mia moglie non sarebbe propriamente d'accordo con te :D.  Cmq è una questione di " tigna". Non sopporti di dover chiedere aiuto e poi non c'è la stessa soddisfazione.

Quote
comunque dopo aver settato un micro per un dato clock, devi creare la relativa board   [ /quote]

Infatti immaginavo, solo mi è rimasto un dubbio. se devo programmare un micro che lavorerà con clock interno a 8MHz, devo togliere il quarso e i condensatori dalla board usata per programmare? O servono comunque perchè l'arduino ISP va a 16MHz?

Quote
Riguardo AVRDUDE per la verità ... sto scrivendo una Guida tutta sua


Non vedo l'ora, adoro le guide.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on Nov 04, 2012, 01:00 pm
I micro ATMEL escono già settati per operare con oscillatore interno a 1MHz; se devi impostare il micro per continuare a farlo lavorare con oscillatore interno non c'è bisogno che usi quarzo e C, che invece diventa indispensabile se vuoi programmare un micro già impostato per lavorare con l'oscillatore esterno. In pratica il Programmatore ISP non ce'ntra niente con la questione quarzo&C, è lo status pre-programmazione del micro che ne richiede la presenza o meno, per poter lavorare e rispondere alla programmazione ISP, ok?
Nella Guida tu vedi usare il quarzo anche alla prima programmazione, se il chip è vergine non servirebbe, ma non sono stato a specificare questa cosa per la semplice ragione che non fa male usare un quarzo&C e:
1 - se il micro è impostato per l'oscillatore esterno è indispensabile che ci siano
2 - se il micro è impostato per l'oscillatore interno semplicemente vengono ignorati
;)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on Nov 04, 2012, 08:50 pm
Grazie del chiarimento. Ho fatto una piccola pcb shield (il mio primo lavoro con eagle, cloruro ferrico &co XD )e a questo punto posso considerarla a tutti gli effetti abile ed arruolata.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on Nov 05, 2012, 10:46 am

Grazie del chiarimento. Ho fatto una piccola pcb shield (il mio primo lavoro con eagle, cloruro ferrico &co XD )e a questo punto posso considerarla a tutti gli effetti abile ed arruolata.

SSS! (Signorsì Signor Sergente) XD
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 12:08 am
Purtroppo eccomi nuovamente qui a chiedere aiuto.
Ho pensato di riesumare questo topic perchè in fin dei conti devo continuare il discorso iniziato qui.
In sostanza a distanza di 6 mesi, memore della conquista dell'atmega8 stand alone, ho azzardato con un atmega328P vergine.
Ho utilizato la stessa board che avevo utilizato con successo per l'atmega8 il che mi da una buona garanzia circa i collegamenti. Ovviamente ho avuto dei problemi. Sia tramite ide che tramite avrdude ho continuato a ricevere errori.
Allora ho cercato di replicare quanto fatto in precedenza montando nuovamente un atmega8.
Misteriosamente non riesco ad eseguire nessuna operazione. Nemmeno utilizando il codice che avevo già postato e che funzionava. Nemmeno la scrittura dei fuses.

Questo è uno dei vari codici che ho scritto:

Quote
C:\avrdude>avrdude.exe -C avrdude.conf -P  \\.\COM3 -U lfuse:w:0xdf:m -U hfuse:w:0xca:m -p m8 -c stk500 -b 115200


e questo è il risultato:

Quote
avrdude.exe: successfully opened stk500v1 device -- please use -c stk500v1

avrdude.exe: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you.


allora ho provato a cambiare il baudrate:

Quote
C:\avrdude>avrdude.exe -C avrdude.conf -P  \\.\COM3 -U lfuse:w:0xdf:m -U hfuse:w:0xca:m -p m8 -c stk500 -b 115200


e il risultato è questo:


Quote
avrdude.exe: successfully opened stk500v1 device -- please use -c stk500v1

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
             Double check chip, or use -F to override this check.

avrdude.exe done.  Thank you.


Niente di meglio passando tramite l'ide. Se provo a caricare il bootloader dell'Arduino NG or older w/ ATmega8
nell'atmega8 ottengo:

Quote
avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


Se passo direttamente ad uno sketch ottengo:
Quote
avrdude: Expected signature for ATMEGA8 is 1E 93 07
         Double check chip, or use -F to override this check.


Ho provato tutto questo con e senza condensatore. Collegandolo al 3,3v e al 5v. Ho riavviato il pc.
Ho offerto in sacrificio il gatto.

Non riesco proprio a capire cosa non va più....

AIUTOOOOOO
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 07, 2013, 12:24 am
Qursta è facile
Hai comprato dei 328 invece arduino lavora con i 328P
Controlla bene la sigla stampata sopra a componente per conferma.

Se ho ragione controlla sul sito del Menniti che ha creato una guida anche per gedtire i vecchi 328 senza P (picopower)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 06:38 am
Purtroppo no, è un 328p . Quello che non capisco è perché non riesco più ad utilizzare l'atmega8 con le stesse modalità che avevo già usato.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 07, 2013, 08:59 am
È un falso ? Dove lo hai comprato ?
La mia non è semplice ipotesi ma è corroborata dai fatti, la signature che tu hai postato è quella del 328 no p.

Segui la guida sul 328 del menny, la trovi sul suo sito, e vedi se ti funziona

Atmega 8 (oppure 8A?) Che signature ha ?
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 09:18 am
I messaggi che ho postato però si riferiscono all' atmega8 (non ricordo se con A o senza). Comunque a questo punto la pulce nell'orecchio me l'hai messa. appena torno a casa provo nuovamente con il 328 e vedo che esce.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 07, 2013, 09:33 am
Stai programmando degli Atmega8 o degli Atmega328P? Ha ragione testato, ci sono discordanze nella firma digitale:
Atmega8: 1E 93 07
ATmega328P: 1E 95 0F

Code: [Select]
avrdude.exe: Device signature = 0x1e950f
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07

avrdude ha trovato un Atmega328P mentre tu gli stai dicendo di programmare un Atmega8.

PS:
se stai cercando di flashare il micro via ISP stai usando una velocità eccessiva. Con l'ArduinoISP caricato su un Arduino UNO, devi mettere "-b 19200".
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 09:42 am
Oh mamma! A furia di cambiare comandi e integrati mi sono incartato!
OK, azzero tutto, faccio una nuova breadboard con nuovi collegamenti e riprovò un mega per volta.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 07, 2013, 09:50 am
Leo la signature non e' del 328P ma del 328
Code: [Select]
avrdude.exe: Device signature = 0x1e950f

quidi la questione e' diversa,

per favore ci dici esattamente cosa e' scritto sul device ?
non e' che e' scritto 328-PU ?
se e' cosi' la P dopo il trattino non significa picopower, forse questo ti ha ingannato
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 07, 2013, 09:55 am
Testato, la signatura 1E 95 0F è del 328P.
Datasheet pagina 289, cap. 28.3:
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 07, 2013, 10:47 am
interessante  :)
non sono andato a vedere il datascheet ma mi sono fidato si quest'articolo che posta il risultato di avrdude:
Code: [Select]
avrdude: Expected signature for ATMEGA328P is 1E 95 14

Si vede che e' un copia incolla, non un errore di battitura, quindi avrdude sbaglia ?
l'articolo e' recentissimo, marzo2013
come si spiega ?
http://www.mycontraption.com/atmega328p-pu-and-1e950f-device-signature/
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: PaoloP on May 07, 2013, 10:54 am

Sto provando a costruire il transistor tester che vi linko qui http://translate.google.com/translate?prev=hp&hl=en&js=y&u=http%3A%2F%2Fwww.mikrocontroller.net%2Farticles%2FAVR-Transistortester&sl=de&tl=en&history_state0= (http://translate.google.com/translate?prev=hp&hl=en&js=y&u=http%3A%2F%2Fwww.mikrocontroller.net%2Farticles%2FAVR-Transistortester&sl=de&tl=en&history_state0=)


E' stato fatto un porting del progetto che stai seguendo --> http://arduino.cc/forum/index.php/topic,163227.0.html
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 07, 2013, 11:49 am
Non so che distribuzione usi quel tipo ma sicuramente una molto vecchia se non è aggiornato per il 328P, perché nel file /etc/avrdude.conf allegato alla versione di avrdude che uso sul mio sistema (5.11) la signatura per l'Atmega328P è quella corretta, 1E 95 0F.

Inoltre quel tipo mi pare un pò inesperto se scrive:
Quote

Upon further research, I now realize that there are actually a couple different types of Atmega328. The Atmega328P-PU and the Atmega328-PU.

Dopo un pò di ricerche, ho scoperto che ci sono al momento un paio di tipi differenti di Atmega328. L'Atmega328P-PU e l'Atmega328-PU.
:smiley-yell:
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 12:48 pm
Ho provato a rispondere prima ma nei boschi di Montegabbione la connessione dati è scarsa. Dovrò segnalare la cosa :P
Comunque grazie dell'aiuto e non appena torno a casa ci faccio un report completo e  dettagliato. In tanto ho capito diverse cose che mi saranno utili.

@PaoloP  grazie della segnalazione. In realtà il transistor tester l'ho completato ad ottobre ma sono comunque interessato alle evoluzioni
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 07, 2013, 12:57 pm
capisco, quindi vecchissima versione, mi sembra strano pero' che quelli di avrdude abbiano fatto un errore del genere nell'inserire un nuovo micro quando e' uscita la versione P
forse e' un avrdude pasticciato in precedenza e poi lo ha dimenticato  :)
cmq credo questa discussione sia stata utile a punk  :)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 01:45 pm
Quote
cmq credo questa discussione sia stata utile a punk


indubbiamente si e al proposito un chiarimento
Quote
Dopo un pò di ricerche, ho scoperto che ci sono al momento un paio di tipi differenti di Atmega328. L'Atmega328P-PU e l'Atmega328-PU.

perché è un affermazione sbagliata? In fin dei conti uno è picopower e l'altro no.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 07, 2013, 02:17 pm

capisco, quindi vecchissima versione, mi sembra strano pero' che quelli di avrdude abbiano fatto un errore del genere nell'inserire un nuovo micro quando e' uscita la versione P
forse e' un avrdude pasticciato in precedenza e poi lo ha dimenticato  :)

Se ha installato avrdude da un repo, può darsi che si sia ritrovato una versione vecchia, pubblicata quando ancora il 328P non era stato rilasciato.
Può anche darsi che abbia manomesso lui quel file ed il tipo non se lo ricorda neanche più  :smiley-yell:
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 07, 2013, 02:20 pm

perché è un affermazione sbagliata? In fin dei conti uno è picopower e l'altro no.

E' un'affermazione non sbagliata ma da ignorante, ossia di uno che ignora le cose.
A marzo del 2013 non puoi affermare che non sapevi che esistesse l'Atmega328P quando io ho comprato la scheda Arduino nell'ottobre del 2010 e già montava quel chip. Quindi era per lo meno già in commercio da un pò di tempo (non so esattamente da quando). E nel 2013 uno che tiene un sito su Arduino, robotica ed altri microcontrollori non conosce il 328P? Mi suona di "strano" :smiley-sweat:
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 05:23 pm
Allora, rincominciamo:
Io ho in mano un atmega8A-PU ed un atmega328P-PU

Provo a scrivere i fuses che trovo nel board.txt sotto la voce "arduino NG or older w/ ATmega8".

Quote
C:\avrdude>avrdude -C avrdude.conf -p m8 -c stk500v1 -P\\.\COM3 -U lfuse:w:0xdf:
m -U hfuse:w:0xca:m -b 115200

p.s. con il baudrate a 19200 come da board.txt, la comunicazione non iniziava neanche.


questa è stata la risposta
Quote

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATMEGA8 is 1E 93 07
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.


Ora provo con il 328P e i fuses dell'arduino 1

Quote
C:\avrdude>avrdude -C avrdude.conf -p m328p -c stk500v1 -P\\.\COM3 -U lfuse:w:0x
ff:m -U hfuse:w:0xde:m -b 115200

...e questa è la risposta

Quote

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

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

Writing |                                                    | 0% 0.00s ***faile
d;
Writing | ################################################## | 100% 0.09s

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

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xff != 0x00
avrdude: verification error; content mismatch

avrdude: safemode: lfuse changed! Was ff, and is now 0
Would you like this fuse to be changed back? [y/n]


se alla domanda rispondo di no ottengo

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

avrdude done.  Thank you.


atrimenti se dico di si mi dice che stk500cmd è fuori sync...
Intanto vi posto questo così mi dite se vedete dove è il punto. Nel frattempo continuo a fare esperimenti...
Grazie
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 07, 2013, 05:32 pm
sono due comportamenti diversi, nel primo caso avrdude riceve dall'Atmega8 la signature del 328P, come e' possibile ? Ti hanno venduto un 328P spacciandolo per Atmega8 ? Una mente geniale  :smiley-yell:

Nel secondo caso non ti funziona e basta, sembrerebbero i problemi di sinc che sono stati risolti dall'Optiboot, hai optiboot sulla Uno ?

Hai provato a seguire la mia guida in firma ? C'e' un esempio proprio per Atmega8, e fai tutto graficamente dall'IDE senza mettere mano ad avrdude, sia la programmzione dei fuse, sia il caricamento via ISP
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: PaoloP on May 07, 2013, 06:03 pm
Punk, ti consiglio di scaricare l'ultima versione dell'IDE, la 1.0.4 (http://arduino.cc/en/Main/Software) e l'ultima versione della guida di Michele (http://michelemenniti.it/arduino_burn_bootloader.php) e seguire nuovamente passo passo la guida con predisposizione della breadboard per il 328P.
Quando sarà tutto funzionante puoi passare all'8A, ma se mischi tutto si fa solo confusione.

Per fugare tutti i dubbi puoi postare una foto del micro e dei collegamenti?  8)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 06:05 pm
:smiley-eek:
Quote
Ti hanno venduto un 328P spacciandolo per Atmega8 ?

Pazzesco! Non capisco!? L'unica spiegazione logica è un errore di fabbrica. sopra è stampigliato chiarissimo atmel 1113 atmega8A-PU.

Aggiornamento. Ho creato l'hex dello sketch blink, e poi l'ho inviato al 328P tramite avrdude. In un primo momento credevo fosse andato a buon fine ma quando ho scollegato il cavo isp ho scoperto che l'arduino che usavo come programmatore isp è stato scritto con il blink!

mha!
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: PaoloP on May 07, 2013, 06:08 pm
Ci sono!! Stai sbagliato comando dell'IDE.
Devi usare "Carica con un programmatore", selezionando "ARDUINO as ISP" come programmatore nell'apposito menu, e non il pulsante "Upload".
:smiley-mr-green:
Come già detto, segui la mitica guida di Michele. Non sbaglia un colpo.  8)

EDIT:  :smiley-roll-sweat: Ho preso un granchio! Non stai usando l'IDE ma direttamente AVRdude.
Vuol dire che hai sbagliato comando.  :smiley-zipper:
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 06:16 pm
Ah, adesso arriva la foto del micro. Per i collegamenti è un po più difficile visto che ho fatto una pcb ma ti assicuro che almeno una volta ha funzionato con un 8A :) Comunque adesso seguo i vostri consigli.Metto da parte l'8A, scarico e leggo tutto quello che mi avete consigliato.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 06:27 pm
https://docs.google.com/file/d/0Bz6JDuTnO_6RNW5UcGFPOEV1dFE/edit?usp=sharing (https://docs.google.com/file/d/0Bz6JDuTnO_6RNW5UcGFPOEV1dFE/edit?usp=sharing)
https://docs.google.com/file/d/0Bz6JDuTnO_6RMUkySFRTdFFaMVE/edit?usp=sharing (https://docs.google.com/file/d/0Bz6JDuTnO_6RMUkySFRTdFFaMVE/edit?usp=sharing)

Scusate ma non ho più un dominio dove caricare le foto.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 07, 2013, 06:36 pm
le foto puoi cricarle direttamente qui sul forum, sotto allo spazio per scrivere trovi Additional Option.
Comunque non servono piu', ormai e' chiara la questione, almeno per il discorso 8A vs 328P, tu caricavi sul micro di arduino invece che sul micro esterno
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 07, 2013, 06:59 pm
il problema è che ancora non ho capito perchè. La riga di comando dovrebbe essere corretta

C:\avrdude>avrdude -C avrdude.conf -p m328p -c stk500v1 -P\\.\COM3 -U flash:w:Blink.cpp.hex -b 115200

Finisco di leggere le guide e poi torno alla carica :P
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 07, 2013, 09:37 pm
Scusa, ti prego di non farmi rileggere tutto; se mi fornisci le info che ti chiedo forse posso aiutarti a trovare il problema....

Versione Arduino
Versione IDE
Elenco dei collegamenti tra Arduino e il micro in stand-alone
Micro da programmare

Sono stra-convinto che tu stia lavorando con AVRDUDE sul micro di Arduino e non su quello in stand-alone
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 07, 2013, 10:38 pm
E' plausibile.
E poi non capisco  come se metti la velocità a 115200 ti possa funzionare quando l'ArduinoISP lavora a 19200 e se non specifichi questa velocità la comunicazione tra avrdude e programmatore non parte.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 08, 2013, 12:39 am
l'arduino che uso come isp è un UNO SMD.
l'IDE è il 22 (specifico che non sto utilizzando l'ide ma il suo avrdude)
Il micro é ATmega328p
I collegamenti domani li spulcio nuovamente e te li trascrivo.


La tua idea é corretta sia per la questione del baudrate sia perche l'ho verificata direttamente con il caricamento del Blink.cpp.hex.

Perché?
Ho anche provato a sostituire stk500v1 con avrisp.

p.s. la guida non è raggiungibile. Anzi, tutto il sito michelemenniti.it non è raggiungibile.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 08, 2013, 09:47 am
il mio sito ora è ok, la Guida ti serve solo per verificare i collegamenti, pomeriggio rientro a casa e ti posto la riga corretta. Ciao
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 08, 2013, 09:54 am

l'arduino che uso come isp è un UNO SMD.
l'IDE è il 22 (specifico che non sto utilizzando l'ide ma il suo avrdude)

Sì ma quale ArduinoISP hai caricato sull'Arduino?
Quello dell'IDE 0022 o di un'altra versione?

Quote

Il micro é ATmega328p

Siamo punto e a capo.... qual è il micro che vuoi programmare? Un Atmega8 oppure un Atmega328? Ad ogni post cambi...  :~

Quote

La tua idea é corretta sia per la questione del baudrate sia perche l'ho verificata direttamente con il caricamento del Blink.cpp.hex.
Perché?

Sono sicuro che il baudrate deve essere a 19200 se vuoi dialogare con l'ArduinoISP. Altrimenti lo sketch "è sordo".

Quote

Ho anche provato a sostituire stk500v1 con avrisp.

Per l'ArduinoISP ci vuole "stk500" oppure "stk500v1".
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 08, 2013, 11:01 am
Eh si, scusate mi rendo conto di aver generato molta confusione perche stavo usando entrambi nella speranza che uno dei due funzionasse.

Comunque da ieri mi concentro solo sul 328p come consigliato da PaoloP.

Sia la questione del baudrate a 115200 che la signiture sbagliata credo che siano spiegabili dal fatto che stavo comunicando con l'arduino e non con l'integrato. A sostegno di questo posso far notare che con -b 19200 la comunicazione non avveniva.

lo sketch Arduino ISP che ho usato è quello dell' IDE 0022

Grazie della pazienza. Ormai mi sto convincendo che il problema sia nei collegamenti ma ieri non avevo un quarzo nuovo. Oggi me lo procuro.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: PaoloP on May 08, 2013, 11:13 am
Scaricati l'ultima versione dell'IDE, la 1.0.4.
Mi pare siano state fatte delle modifiche allo sketch "Arduino ISP".
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 08, 2013, 11:16 am

il problema è che ancora non ho capito perchè. La riga di comando dovrebbe essere corretta

C:\avrdude>avrdude -C avrdude.conf -p m328p -c stk500v1 -P\\.\COM3 -U flash:w:Blink.cpp.hex -b 115200

Finisco di leggere le guide e poi torno alla carica :P

Prova così:
C:\avrdude>avrdude -C avrdude.conf -p m328p -c stk500v1 -b 19200 -P COM3 -U flash:w:Blink.cpp.hex:i

se i collegamenti sono esatti ti assicuro che funziona all'istante (naturalmente il Blink.cpp deve trovarsi nella cartella avrdude)

questa sintassi vale se usi ArduinoISP della 0022
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: PaoloP on May 08, 2013, 11:23 am
A parte le problematiche che stai avendo, riguardo all'argomento del topic, questo può essere interessante
--> http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 08, 2013, 05:38 pm
Tana!

Volete sapere subito la conclusione?
I collegamenti. Ancora non so cosa di preciso ma suppongo un falso contatto o una saldatura fredda perchè, come ho già detto quella pcb ha già funzionato ad ottobre.

Ho provato la riga di comando mennitica e come al solito non ha funzionato. A questo punto ho dissaldato il quarzo (che ormai ha deipiedini ini ini ini) e ho rifatto tutto su breadboard. A quel punto tutto Ok!

Scusate dinuovo per la lunga discussione ma vi assicuro che per me non è stata inutile.

Ho imparato:
-che se il collegamento è sbagliato si programma l'arduino usato come programmatore
-che la signiture idica il tipo di processore
-dove trovo la corrispondenza tra signiture e nome dell'integrato
-che l'arduino ISP funziona solo a 19200
ma soprattutto...


...non fidarti mai di nulla, anche di quello che ha già funzionato :~
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 08, 2013, 05:42 pm

Ho imparato:
-che se il collegamento è sbagliato si programma l'arduino usato come programmatore

Su questo non sono d'accordo, se i collegamenti sono sbagliati non si programma nessun micro, ne' quello integrato sull'arduino ne quello esterno. Quello sull'arduino si rpogramma se sbagli a scegliere il comando da menu' dell'ide
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 08, 2013, 07:14 pm

Ho provato la riga di comando mennitica e come al solito non ha funzionato.

:smiley-sad-blue: di solito le mie righe di comando funzionano, perché dici "come al solito non ha funzionato"? :smiley-sad-blue:
A parte il dispiacere personale, alla fine con che riga di comando hai avuto esito positivo?
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 08, 2013, 07:35 pm
:) Ha ha, no per "come al solito" intendevo riferirmi alle mie prove di questi giorni. Ovviamente il codice mennitico funziona sempre! Fermi restando gli adeguati collegamenti. :D
Quote
Su questo non sono d'accordo, se i collegamenti sono sbagliati non si programma nessun micro, ne' quello integrato sull'arduino ne quello esterno. Quello sull'arduino si rpogramma se sbagli a scegliere il comando da menu' dell'ide
Si ma io non ho usato l'ide. cmq adesso voglio approfondire in maniera empirica...
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 08, 2013, 09:31 pm

:) Ha ha, no per "come al solito" intendevo riferirmi alle mie prove di questi giorni. Ovviamente il codice mennitico funziona sempre! Fermi restando gli adeguati collegamenti. :D

aaaaaah  :smiley-sweat: grazie grazie, me stavo a preoccupà XD XD XD
Quote

Quote
Su questo non sono d'accordo, se i collegamenti sono sbagliati non si programma nessun micro, ne' quello integrato sull'arduino ne quello esterno. Quello sull'arduino si rpogramma se sbagli a scegliere il comando da menu' dell'ide
Si ma io non ho usato l'ide. cmq adesso voglio approfondire in maniera empirica...

Test, potrei sbagliarmi ma se il dialogo col micro non avviene (almeno in certe circostanze di errori ISP) la programmazione potrebbe essere dirottata su Arduino; mi pare mi sia successo nelle prove dei tempi che furono ma non potrei giurarlo, vediamo che ci dirà Punkrazio sulle prossime prove...
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: astrobeed on May 08, 2013, 09:38 pm

Test, potrei sbagliarmi ma se il dialogo col micro non avviene (almeno in certe circostanze di errori ISP) la programmazione potrebbe essere dirottata su Arduino;


Assolutamente impossibile per due semplicissimi motivi, il bootloader di Arduino usa una emulazione diversa da quella dello sketch ISP, secondo lo sketch ISP lavora a 19200 bps mentre il bootloader lavora a 115200 bps, ovvero se viene fornita la giusta riga di comando AvrDude, per Arduino ISP, non è possibile riprogrammare Arduino.
Certo che se uno comincia a dare righe di comando alla "come viene viene", come ha fatto punk, allora tutto diventa possibile, anzi è stato fortunato a non brickare Arduino :)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 08, 2013, 11:41 pm
Concordo con astro. Sicuramente punkrazio avrà provato tutte le combinazioni  ;), levando e togliendo i parametri. Solo così può aver programmato per sbaglio l'Arduino invece del micro in standalone.
E della velocità da usare te lo avevo già detto 2 volte che dovevi settare 19200 altrimenti non dialogavi con l'ArduinoISP  ;)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 08, 2013, 11:45 pm
alla fine concordate tra voi nel darmi ragione XD io ho parlato di situazioni particolari e casuali mica di tecnica scientifica ;)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: leo72 on May 08, 2013, 11:47 pm
No, tu dici che la programmazione può dirottare sull'Arduino, parli quindi di un evento ipotetico che può accadere in maniera indipendente dall'utente. Invece in questo caso è l'utente che ha programmato involontariamente l'Arduino mettendo parametri a caso.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 09, 2013, 10:27 am
ho scritto
Quote
(almeno in certe circostanze di errori ISP)
, avessi tempo farei un po' di prove, sono sicuro che mi è successo, ma non ne ho.... :(
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: astrobeed on May 09, 2013, 11:47 am

ho scritto
Quote
(almeno in certe circostanze di errori ISP)
, avessi tempo farei un po' di prove, sono sicuro che mi è successo, ma non ne ho.... :(


Se mandi la corretta di riga di comando per AvrDude è impossibile programmare Arduino ISP al posto del micro che vuoi programmare, va da se che se per errore/distrazione mandi la riga di comando per programmare Arduino tramite bootloader lo scrivi al posto del micro da programmare.
Tutte le altre combinazioni possono solo produrre errori di vario tipo oppure brickare Arduino o il micro da programmare.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 09, 2013, 12:14 pm
Non ho ancora avuto tempo di approfondire ma ci invito a riflettere su quanto avevo riportato nel post#31.

In quel caso il programmatore era un Arduino uno e il destinatario un 8A.

con questa riga rispondeva un 328p. evidentemente quello del programmatore.
Quote
Quote
C:\avrdude>avrdude -C avrdude.conf -p m8 -c stk500v1 -P\\.\COM3 -U lfuse:w:0xdf:
m -U hfuse:w:0xca:m -b 115200


vi faccio notare che utilizzando -b 19200 la comunicazione non avveniva.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 09, 2013, 12:19 pm
ma in quel caso avevi problemi nella configurazione dello stand-alone, giusto? è quello che dico io, se l'hardware non è a posto il software può avere comportamenti strani, certamenti diversi dalla norma.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 09, 2013, 12:44 pm
Si, è quello che credo anche io.
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 14, 2013, 11:12 pm
Aggiornamento:

Ho controllato il pcb che usavo per programmare i micro ed ho scoperto che (non so perchè!? :smiley-eek-blue: ) :

Il pin 5 (reset) del connettore isp l'ho collegato al pin 10 dell'arduino.
Il piedino 1 del micro era collegato correttamente al +5v tramite la resistenza ma poi non era collegato ad altro

Devo aggiungere che molto probabilmente il 328p è andato. :smiley-roll-sweat:

P.s. per Menniti: Ma della guida avrdude si sa più nulla? Ci hai più lavorato?
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: menniti on May 15, 2013, 10:02 am
:~ :smiley-sweat:
Non ti faccio l'elenco di cosa devo realizzare perché perderei una mattinata di lavoro, mi sono impicciato in così tante cose che il mio tempo/hobby è impegnato fino a metà 2014. Per questa ragione la settimana scorsa ho chiuso a chiave nel cassetto tutte le nuove idee ed ho realizzato una scaletta seria che comprende 4 progetti elettronici, alcuni test da laboratorio e 4 lavori teorici di spessore elevato, tra cui AVRDUDE. Ho perfino rallentato le pubblicazioni sulla Rivista, altrimenti davvero non ce la faccio. Non sono in grado ad oggi di dare scadenze, farò nuovamente il punto della situazione a fine giugno, certamente non lascerò nulla di incompiuto, non l'ho mai fatto in vita mia e non lo farò certo questa volta... ;)
Naturalmente ho studiato moltissimo (per me è tutta materia nuova) per tutti i vari argomenti quindi, all'occorrenza, in caso di problematiche, posso dare un modesto contributo, basta chiedere :)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 15, 2013, 11:05 am
Punk puo' essere che il 328P sia solo brickato, non guasto.
prova con la programmazione HV
c'e' un mio topic in prima pagina con lo schema usato

OT: Parlando invece di cose serie, visto il tuo nickname, conosci i Ministri ? Tuo parere in merito ?  :)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: Punkrazio on May 19, 2013, 07:55 pm
Grazie del consiglio ma dopo un po' di prove e dopo aver letto il topoc del quale mi hai scritto, mi sono fatto l'idea che il problema sia nell'hardware che ho costruito. Infatti adesso aprirò un nuovo topic nella sezione HW. Comunque grazie della dritta. Credo che potrà tornarmi utile in futuro.

Per quanto riguarda i ministri non sono pronto a dare un parere :smiley-roll-sweat: li conosco di nome ma non li ho mai scoltati (tranne un il clip del 1°maggio che sono andato a cercare appositamente su Yt). Nonostante il mio nick i miei gusti tendono più al metal che non al punk. Anche se apprezzo molto il punk delle origini.
Prossimamente ti darò un parere 8)
Title: Re: Utilizzo file hex ed eep già precompilati
Post by: testato on May 19, 2013, 08:48 pm
Anche io li ho conosciuti al concertone e mi sono piaciuti molto, ho quindi comprato l album ed ho avuto conferma della prima impressione.
Anche io sono metallaro stampo anni 90, iron metallica guns nirvana etc