Pages: 1 ... 20 21 [22] 23 24 25   Go Down
Author Topic: programmare il 644 ... ma come????  (Read 19809 times)
0 Members and 1 Guest are viewing this topic.
Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9172
"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

Siamo in dolce e trepida attesa...... smiley-kiss

Oggi pomeriggio dovrei riuscire a trovare il tempo per compilarvi la versione 644.
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo, ma io sto parlando delle differenze tra i due optiboot1284 di mighty: quello che stai usando tu attualmente e quello che mi hai linkato e che ho scaricato per le mie prove; in pratica il tuo optiboot dovrebbe essere la versione aggiornata del mio attuale, ecco perché ti consigliavo di guardare le differenze.
Non ti avrei chiesto un lavoro di confronto con quello della MEGA visto che Astro ha detto che lo fornirà lui funzionante sia per 644 che per 1284.  smiley
Ah, scusa. E' che ieri era una giornata in cui c'ero ma non troppo....
A memoria, di diverso nella 4.5 c'è solo la sistemazione del supporto al bootloader locato nella parte alta della memoria, generalmente non accessibile dal vecchio optiboot 4.4 che prevedeva la gestione di soli 64 kB di memoria, e la gestione del flag RAMPZ, che in pratica serve come 3° byte per comporre gli indirizzi oltre i 64 kB di Flash. Ma alla fine sono poche righe di codice sparse in qualche define. Altre diff macroscopiche non ne vedo.
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Stamani ho fatto una serie intensiva di test. Lo scopo ultimo era quello di usare qualcosa che permettesse di usare il chip in standalone con un bootloader che per funzionare non richiedesse componenti elettronici extra sul pin RX.

Optiboot 4.5
Ho provato a compilare l'Optiboot 4.5 per lavorare a 57600 (con voce in boards.txt modificata) e non ha funzionato. avrdude si incocciava.
Ho provato anche a modificare il bootloader inserendo l'attivazione della pull-up interna su RX0 che vedo viene attivata dal bootloader standard, ma anche così nulla.
Risultato: con l'Optiboot 4.5 non sono riuscito in nessun caso a usarlo senza R/C/RC.

Bootloader "standard" Mighty (basato sul bootloader Atmega usato sulla 2009)
Il bootloader funziona a 57600. Se lo compilo a 115200 (modificando boards.txt) avrdude mi dice che c'è un errore di sincronismo.
Risultato: il bootloader standard funziona senza R/C/RC a patto di usare solo la velocità a 57600.

Prima di metter mano al bootloader della MEGA (bootloader stk500v2), attendo il lavoro di astro.
A dire il vero, già ci ho provato... Con la versione contenuta nell'IDE ho avuto problemi di incartamento del bootloader per via del watchdog (lampeggio perpetuo del led). La versione che si trova su Github che invece non soffre di questo problema non mi si compila (è vecchia di 1 anno). Entrambi soffrono di vetustà del codice, sorgenti cioè che con la nuova toolchain Atmel non riesco a compilare correttamente perché il codice è vecchio e non è aggioranto da un sacco di tempo (il bootloader distribuito con l'IDE sono 2 anni che non viene modificato).
Logged


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

Il bootloader standard a me funziona con la R da 120k, il bootloader "optiboot" (da ciò che mi pare di capire è comunque basato sulla 4.5) invece richiede una 220k; questi i risultati dei miei test su quanto ho scaricato ieri (mighty agg. giugno 2012)
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
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il bootloader standard a me funziona con la R da 120k, il bootloader "optiboot" (da ciò che mi pare di capire è comunque basato sulla 4.5) invece richiede una 220k; questi i risultati dei miei test su quanto ho scaricato ieri (mighty agg. giugno 2012)
Ma te quindi hai usato i bootloader intonsi, così com'erano, senza modifiche, giusto?
Quindi non hai fatto test per provare a velocità inferiori.

PS:
l'Optiboot di maniacbug è la versione 4.5.
Logged


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

Sì, ho scaricato quelle cartelle e le ho distribuite nella mia personale, ho usato il suo file boards.txt con opti a 115200 e standard a 57600
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
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Michele.
Ti allego 2 bootloader per il 1284 derivati dall'Optiboot 4.5 di maniacbug.
Uno è compilato per avere un timeout di 2s, l'altro è compilato per avere in più anche la velocità ridotta a 57600.
Provali entrambi: per il primo basta sostituirlo a quello che già hai, mentre per il secondo devi anche modificare la relativa voce nel file boards.txt, per capire se il tuo è un problema di tempi e/o di velocità.
Logged


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

ok, gli allegati? smiley-mr-green (ti rispondo con calma, la tua esposizione merita molta attenzione ed attenta valutazione)
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
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Uh.. .credevo di averli allegati. Eccoli.

* optiboot_1284p.2secondi.zip (0.78 KB - downloaded 10 times.)
* optiboot_1284p.2secondi57600bps.zip (0.78 KB - downloaded 10 times.)
Logged


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

sbaglio o abbiamo un Latitante smiley-grin?
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
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

sbaglio o abbiamo un Latitante smiley-grin?
Mi pare  smiley-wink

Ti aggiorno su un paio di cose:
1) il bootloader Atmegaboot che ti ho passato ha un bug. Nell'intento di implementare un timeout basato sul watchdog come l'Optiboot, mi sono dimenticato del reset del medesimo se parte la programmazione  smiley-sweat smiley-sweat
In allegato trovi la versione corretta. Essa resta in ascolto per 2 secondi (il bootloader originale attende 6/7 secondi) prima di avviare lo sketch se nulla arriva dalla seriale.
2) devo correggere le prime analisi che avevo fatto su questo bootloader. Esso, senza R sulla linea che va al pin RX0, non funziona. Se lo sketch da programmare è breve (tipo un paio di KB), non ci sono problemi. Ma se si spedisce uno sketch che sia grande (bastano anche 15/16 KB) allora ad un certo punto la programmazione si ferma con un errore di verifica. Inserendo la R, invece, la programmazione termina senza problemi.

Ah, parlando sul forum internazionale, hanno precisato una cosa a cui io lì per lì non avevo dato peso. La R da sola in realtà non è... da sola. Crea comunque un filtro RC con l'impedenza interna del GPIO.
Inoltre qui:
http://arduino.cc/forum/index.php/topic,142514.msg1096562.html#msg1096562
Trovi delle analisi fatte all'oscilloscopio di cosa arriva sul pin RX0 con varie combinazioni di C, R e loro assenza.

* ATmegaBOOT_1284P.hex (5.03 KB - downloaded 9 times.)
Logged


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

Ma se devo comunque mettere la R in serie perché mi fai provare questo bl? cosa dovrebbe avere di migliorato rispetto a quello che sto usando già?
Leggendo il link di Nick Gammon (il tipo che stiamo seguendo anche per il GLCD) ho visto che lui usa 2 C da 18pF invece dei 22pF, magari l'influenza sulla frequenza dell'oscillatore potrebbe in qualche modo.... lui non usa nulla e dice che programma smiley-sweat
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
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma se devo comunque mettere la R in serie perché mi fai provare questo bl? cosa dovrebbe avere di migliorato rispetto a quello che sto usando già?
Giusto per curiosità, per capire quale sia più affidabile. Io mi rendo conto che fra l'Optiboot 4.5 e l'ultimo che ti ho passato, è questo quello che a me funziona meglio.
Logged


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

ok, però io finora ho testato solo il blink, quindi devo ripetere i test con sketch più grandi smiley-sweat
Allora, attualmente io ho la cartella originale di maniacbug di giugno 2012, l'unica che mi abbia dato effetti positivi, mentre l'ultima versione a me non ha mai funzionato.
Domanda stupida, giusto per capire di che stiamo parlando: questi due che mi stai facendo testare (c'è anche l'altro a 57600) da dove derivano?
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
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, però io finora ho testato solo il blink, quindi devo ripetere i test con sketch più grandi smiley-sweat
Allora, attualmente io ho la cartella originale di maniacbug di giugno 2012, l'unica che mi abbia dato effetti positivi, mentre l'ultima versione a me non ha mai funzionato.
Domanda stupida, giusto per capire di che stiamo parlando: questi due che mi stai facendo testare (c'è anche l'altro a 57600) da dove derivano?
Dalla cartella di maniacbug, bootloaders, cartella atmega.
Lì dentro c'è il sorgente di un bootloader elaborato dal codice dell'stk500v2, che è il bootloader originale da cui sono nati quello per la 2009 e la Mega.
Io l'ho preso, ci ho aggiunto il timeout basato sul watchdog, e l'ho ricompilato. stop.
Quindi come bootloader è in pratica più simile a quello della MEGA2560 come diceva Astro, e non ha nulla a che spartire con l'Optiboot.
Logged


Pages: 1 ... 20 21 [22] 23 24 25   Go Up
Jump to: