Go Down

Topic: programmare il 644 ... ma come???? (Read 25 times) previous topic - next topic

leo72


sbaglio o abbiamo un Latitante :D?

Mi pare  ;)

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.

Michele Menniti

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:
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

leo72


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.

Michele Menniti

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?
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

leo72


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.

Go Up