Offline
Newbie
Karma: 0
Posts: 28
|
 |
« on: October 04, 2011, 12:54:32 pm » |
Un saluto a tutti. Leggendo qua e la ho capito che il bootloader che ho sul mega2560 ha un bug per quanto riguarda il watchdog che non mi permette di utilizzarlo. Quello che non mi è chiaro, nonostante tutte le letture se c'è effettivamente una soluzione. Ho letto dell'optiboot che forse dovrebbe risolverlo. Qualcuno mi sa dare qualche dritta per uscire da questo fosso? Grazie a tutti!
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 87
Posts: 8498
:(){:|:&};:
|
 |
« Reply #1 on: October 04, 2011, 01:54:46 pm » |
credo che il bug sia semplicemente che se imposti un tempo trooopo basso (diciamo < di 10 secondi) non riesci a caricare nessun nuovo sketch, e se troppo basso, non superi nemmeno la fase di boot del boot-lader creando un riavvio automatico infinito. il tutto risolvibile con un programmatore ISP
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #2 on: October 04, 2011, 01:59:19 pm » |
grazie per la risposta, ma il problema non è quello, infatti ho impostato anche 8 secondi. da come ho capito il problema sta che nel primo avvio il bootloader imposta a 15ms, creando il loop infinto, comunque risolvibile facilmente facendo l'upload con il tato reset premuto e rilasciato nel momento opportuno.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #3 on: October 05, 2011, 07:28:56 am » |
ragazzi nessuno riesce ad aiutarmi?
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17003
Don't know what I do
|
 |
« Reply #4 on: October 05, 2011, 10:30:25 am » |
Vorrei chiederti, però: a che ti serve il watchdog? Se usato in malo modo porta spesso a bloccare il micro in reset infiniti per loop del codice scritti male. Ti serve davvero?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #5 on: October 05, 2011, 10:34:18 am » |
Leo innanzitutto grazie della risposta. lo so che se usato male potrebbe essere un casino, ma proverò ad usarlo bene, perchè credo che in un buon sistema affidabile il watchdog ci debba essere. Per questo era il mio motivo di studio . Poi magari studiandolo me ne pentirò, ma vorrei provarlo a mie spese 2560 permettendo 
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17003
Don't know what I do
|
 |
« Reply #6 on: October 05, 2011, 10:37:47 am » |
Se hai solo una scheda Arduino, te lo sconsiglio. Inavvertitamente puoi bloccare la scheda nel watchdog che autoresetta all'infinito l'Atmega. E senza un altro Arduino o un programmatore esterno per resettare i fuse, saresti nell'impossibilità di toglierlo.
A proposito, sai come si attiva?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #7 on: October 05, 2011, 10:41:22 am » |
Io l'ho attivato, e già mi sono trovato nella condizione di loop infinito, risolto con la procedura descritta sul sito (comunque ho anche il programmatore l'mkii). Ma il problema come ho descritto sopra e che il bootloader del2560 cambia impostazioni del watchdog passandolo a 15ms (almeno così ho capito leggendo sui vari forum). E non so come risolvere questo bug. Ho sentito di optiboot??
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 87
Posts: 8498
:(){:|:&};:
|
 |
« Reply #8 on: October 05, 2011, 10:45:06 am » |
scusa, ma se nel setup risetti il watchdog dovresti risolvere no? l'importante è che riesca ad avvenire il boot dello sketch
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #9 on: October 05, 2011, 10:49:22 am » |
io lo setto nel setup ad esempio e lo setto per sicurezza ad 8 secondi per essere sicuri che durante il caricamento del bootloader lui non interviene. Infatti al primo avvio dopo l'upload funziona (perchè lo carico nel setup), però poi se interviene il watchdog e si resetta automaticamente, entra in loop infinito(da qui il fatto che lui lo passa a 15 ms e quindi non esce dal bootloader).
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17003
Don't know what I do
|
 |
« Reply #10 on: October 05, 2011, 10:50:56 am » |
Non puoi modificare i sorgenti del bootloader e ricompilarlo con un altro valore? L'Optiboot mi pare non sia compatibile con gli Atmega1280/2560
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #11 on: October 05, 2011, 10:52:10 am » |
sarebbe un'ottima idea Leo, però non so come intervenire. se mi riuscite a dare una mano ve ne sarò grato 
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17003
Don't know what I do
|
 |
« Reply #12 on: October 05, 2011, 10:54:07 am » |
Qual è il sorgente del codice? Sai quale bootloader è usato sulle Mega? Io non lo so.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #13 on: October 05, 2011, 11:00:36 am » |
stavo controllando proprio questo, dovrebbe essere stk500boot_v2_mega2560.hex ho provato ad aprire stk500boot.c e poi ho aperto ATmegaBOOT_168.c che è un'altro per il 168. Quello che ho notato da ignorante che in quello del 168 c'è un controllo sul watchdog mentre nel primo non c'è nulla. Ho provato a fare una ricerca in tutto il file, niente. Non so se la prova che ho fatto è stupida o meno.
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17003
Don't know what I do
|
 |
« Reply #14 on: October 05, 2011, 11:12:51 am » |
Ho visto dal file boards.txt che il Mega1280 usa l'ATmegaBOOT_168 mentre il Mega2560 usa effettivamente l'stk500boot_v2. Vediamo se si capisce qualcosa.
|
|
|
|
|
Logged
|
|
|
|
|
|