Pages: 1 ... 18 19 [20] 21 22 ... 25   Go Down
Author Topic: programmare il 644 ... ma come????  (Read 15946 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
God Member
*****
Karma: 2
Posts: 536
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@Michele: Effettivamente poi, pensandoci bene, mi era venuto proprio quel dubbio. Nel pomeriggio scarico nuovamente il bootloader. Ma ho un dubbio... devo impostare nell' ide il 644 16Mhz con o senza bootloader per scaricare appunto il bootloader. Io inizialmente avevo impostato "senza bootloader".

@Tonid: Si ho visto in questo topic il tip del led nel pin 2, ma per farlo devo modificare un file, che ora non ricordo il nome, e poi Leo dice di ricompilarlo.. Con ricompilare, cosa si intende ? Nel senso.. basta scaricare nuovamente il bootloader ? (nel farlo l' ide lo ricompila..) o c'è un compilatore particolare per questi micro ?
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21646
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Michele: Effettivamente poi, pensandoci bene, mi era venuto proprio quel dubbio. Nel pomeriggio scarico nuovamente il bootloader. Ma ho un dubbio... devo impostare nell' ide il 644 16Mhz con o senza bootloader per scaricare appunto il bootloader. Io inizialmente avevo impostato "senza bootloader".
Devi scegliere "con" bootloader altrimenti l'IDE, oltre a non scriverlo, non programma i fuse per preservare lo spazio nella memoria.

Quote
@Tonid: Si ho visto in questo topic il tip del led nel pin 2, ma per farlo devo modificare un file, che ora non ricordo il nome, e poi Leo dice di ricompilarlo.. Con ricompilare, cosa si intende ? Nel senso.. basta scaricare nuovamente il bootloader ? (nel farlo l' ide lo ricompila..) o c'è un compilatore particolare per questi micro ?
Non importa ricompilarlo. Ho visto che nel makefile originale è già presente la voce per attivare l'output sul pin 2 per cui anche usando gli hex originali hai quella funzionalità
Logged


Offline Offline
God Member
*****
Karma: 2
Posts: 536
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa Leo, tanto per completare le mie conoscenze su questi micro, quindi c'è un compilatore ad hoc. O ho capito male ?
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21646
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa Leo, tanto per completare le mie conoscenze su questi micro, quindi c'è un compilatore ad hoc. O ho capito male ?

No, il compilatore è sempre avr-gcc. Fino alla versione 002x dell'IDE serviva un core specifico per poterli usare con l'IDE di Arduino, dalla versione 1.0 in poi il supporto è stato lentamente integrato in Arduino stesso. Dalla versione 1.0.2 basta aggiungere le voci nel file boards.txt per usarli senza ulteriori modifiche.
L'unica cosa che non c'è nell'IDE è un bootloader specifico, che invece ha preparato un altro utente del forum, maniacbug. E che io ho integrato nel package che puoi scaricarti dal mio sito dove trovi insieme al file boards.txt
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No, il compilatore è sempre avr-gcc. Fino alla versione 002x dell'IDE serviva un core specifico per poterli usare con l'IDE di Arduino, dalla versione 1.0 in poi il supporto è stato lentamente integrato in Arduino stesso. Dalla versione 1.0.2 basta aggiungere le voci nel file boards.txt per usarli senza ulteriori modifiche.
Questa frase ricordo che l'hai già detta e lì per lì mi era sfuggita, ma ora è meglio approfondire: se è dalla 1.0.2 che non servono modifiche, io nella 1.0.1 avrei dovuto modificare qualcosa? non è che sto impazzendo per non aver fatto qualcosa sulla 1.0.1? smiley-eek-blue anche se c'è sempre il 644 che mi mette fuori strada.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Intervento veloce dopo che Michele mi ha spiegato in privato i problemi a cui state andando incontro, lasciate perdere gli "esperimenti" con resistenze e condensatori che non servono a nulla, il problema è nel bootloader che state utilizzando che non è idoneo per il 644/1284.
Adesso non ho tempo per spiegarvi dove sta il problema e la relativa soluzione, sto finendo una libreria per Arduino che renderò di pubblico dominio e devo preparare un rendering 3D di anteprima di una nuova scheda (Linux Embedded) che interesserà anche il mondo Arduino, su questa poi aprirò un topic dedicato.
Non appena ho finito, e non credo se ne parli prima di domani, mi rifaccio sentire in questo topic con tutte le spiegazioni del caso, not get worry, stay tuned  smiley-mr-green
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

e cchi sse move de qua! smiley-grin Grazie smiley-kiss
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
God Member
*****
Karma: 2
Posts: 536
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

cavoli.. che novità !
Staremo incollati al pc  smiley-mr-green
Logged

Offline Offline
God Member
*****
Karma: 2
Posts: 536
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Però, aspettando astro, io ho ancora dei problemi (sicuramente banali) con il caricamento dello sketch via seriale.
1) Ho caricato il bootloader, con la scelta "644 w bootloader".
2) Collegato al pin 2 con resistenza il led.
3) Collegato l' adattatore in questo modo TX -> TX, RX -> RX, DTR con un C da 100nF in serie al pin 9

quando cerco di caricare lo sketch blink il led lampeggia un 2-3 volte e poi l' Ide mi da not in sync (provato anche invertire rx e tx, setssa cosa)

Ho provato anche questa strada citata da Michele
Quote
Quindi, io partirei dal caricare lo sketch ArduinoISP sull'Arduino UNO. Poi chiudi l'IDE.
Ora il mio core 644_1284: scaricalo (prendi la versione per IDE 1.0.2 sia per l'IDE 1.0.2 che per l'IDE 1.0.3) ed installalo.
Avvia l'IDE, seleziona "Atmega644 @ 16 MHz w/bootloader" e poi scrivi il bootloader sul microcontrollore (così imposti anche i fuse corretti per lavorare a 16 MHz e riservare l'area al bootloader) con la tecnica ISP usando l'ArduinoISP come programmatore.
Adesso prenditi l'Arduino (lasciamo per ora da parte il tuo convertitore USB/seriale), staccagli il chip e fai questi collegamenti:
Arduino ---> 644P
Pin RST ---> pin 9
Pin RX ---> pin 15
Pin TX ---> pin 14
Pin 5V ---> pin 10 e 30
Pin GND ---> pin 11 e 31

Collega l'Arduino, apri l'IDE, poi scegli la voce "Atmega 644 @ 16 MHz w/bootloader", carica lo sketch Blink e spedisci con l'icona di upload. Adesso prendi un LED + R e collegali al pin 19 del 644: se il bootloader ha svolto il suo compito, lo sketch Blink dev'essere sul micro ed il LED deve lampeggiare.
Ma l' errore che mi compare, dopo che il led nel pin 2 lampeggia e anche i led rx e tx dell' aruino lampeggiano, protocol error, expect=014, resp=0x41.. ecc..

Non capisco dove ancora sto sbagliando.. anche perchè non mi sembra molto complessa la cosa.. (ahh io ho un 644P)

Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21646
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@michele:
per la 1.0.1 servono dei file del core modificati per integrare il supporto al 1284 (di serie c'è solo quello per il 644). Tale supporto è stato aggiunto a partire dalla versione 1.0.2. Per tutte le versioni serve poi uno specifico file pins_arduino.h che descrive i pin e le funzionalità ad essi agganciati.

@superzaffo:
ho timore di aver fatto casino quando ho scritto quelle istruzioni. Non mi ricordavo che si doveva ragionare tenendo a mente l'Atmega8U2: sulle schede Arduino il pin RX è collegato al pin RX0 dell'Atmega328 ma è collegato al pin TX dell'Atmega8U2 per cui non va invertito. Stessa cosa per il pin TX. Collega quindi il pin RX con il piedino 14 del 644/1284 ed il pin TX con il piedino 15.

@astrobeed:
che problema sarebbe, che hai riscontrato nel bootloader?
Logged


Offline Offline
God Member
*****
Karma: 2
Posts: 536
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie Leo, infatti ho fatto la prova di invertire ed infatti il problema di protocol error era con i pin invertiti.
Adesso grazie a queste tue istruzioni
Quote
3) usare un filtro RC sulla linea RX del microcontrollore composto da una R da 10K in serie fra il pin RX dell'Arduino ed il pin RX0 del 644P/1284P, ed un condensatore ceramico da 100 pF (100 picoFarad) in parallelo (fra RX0 e GND).
Sono riuscito a scaricare lo sketch via arduino seriale e funziona.  smiley-wink
Adesso però proverò con il convertitore uguale a Paolo S... vediamo.. Lui mi sembra che ha detto che non ha messo niente, ne C sul reset e ne pull up ...
Vediamo...
Logged

Offline Offline
God Member
*****
Karma: 2
Posts: 536
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, fatto anche la prova con l'adattatore usb seriale come quello di Paolo S
Alla fine tutto ok...
Configurazione funzionante a me..
Tx->TX senza pull up
Rx->Rx senza pull up
DTR->reset con C da 100nF in serie e una R da 10K in Pull up.

Nota: Se provo a memorizzare in ISP il bootloader con la resistenza da 10k di Pull-up nel reset, la procedura non funziona.

Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo: fammi capire, stai parlando di tutto quanto ho dovuto mettere nella cartella hardware, giusto? quindi niente di nuovo. Con Astro inutile insistere, c'ho già provato io, è con l'acqua alla gola con i lavori che deve completare, dopo ci spiegherà, posso dirti che era a conoscenza del problema, quantomeno quando gliene ho parlato mi ha detto "scommetto che state usando il bootloader basato su optiboot!". Aspettiamo e speriam bene.

SZ: anch'io col convertitore con CP2102 non ho avuto problemi col 644, invece niente da fare con 1284, domani vorrei riprovare alla luce dei nuovi test che abbiamo fatto.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21646
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo: fammi capire, stai parlando di tutto quanto ho dovuto mettere nella cartella hardware, giusto? quindi niente di nuovo.
Sì, il pacchetto che ho preparato io. Ci sono 3 sottocartelle, variants, bootloaders e cores, ognuna con dei file che variano in base alla versione di IDE usata.

Quote

 Con Astro inutile insistere, c'ho già provato io, è con l'acqua alla gola con i lavori che deve completare, dopo ci spiegherà, posso dirti che era a conoscenza del problema, quantomeno quando gliene ho parlato mi ha detto "scommetto che state usando il bootloader basato su optiboot!". Aspettiamo e speriam bene.

SZ: anch'io col convertitore con CP2102 non ho avuto problemi col 644, invece niente da fare con 1284, domani vorrei riprovare alla luce dei nuovi test che abbiamo fatto.
Michele, se vuoi fare un tentativo, scaricati il pacchetto originale di maniacbug:
https://github.com/maniacbug/mighty-1284p
Dentro a /bootloaders/standard trovi un file denominato ATmegaBOOT_1284P.hex. Questo è il primo bootloader che l'utente ha usato. Non so quanto impegni di flash, controlla nel file boards.txt allegato allo ZIP che hai scaricato le impostazioni dei fuse. Prova questo bootloader, vedi se cambia qualcosa.
Non è basato sull'Optiboot, credo sia basato sul vecchio bootloader tipo 2009 (o forse Mega non so).
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

MI sa che era quello che mi ero messo inizialmente da parte per le prove, poi passando il tempo, quando hai messo appunto il tuo lavoro, l'ho mollato, una prova è fattibile, in attesa dell'intervento di Astro.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Pages: 1 ... 18 19 [20] 21 22 ... 25   Go Up
Jump to: