Pages: [1] 2   Go Down
Author Topic: watchdog arduino mega2560  (Read 1052 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10097
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ragazzi nessuno riesce ad aiutarmi?
Logged

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

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 Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley

Logged

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

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 Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10097
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

scusa, ma se nel setup risetti il watchdog dovresti risolvere no? l'importante è che riesca ad avvenire il boot dello sketch
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

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 Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sarebbe un'ottima idea Leo, però non so come intervenire. se mi riuscite a dare una mano ve ne sarò grato smiley
Logged

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

Qual è il sorgente del codice?
Sai quale bootloader è usato sulle Mega? Io non lo so.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

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


Pages: [1] 2   Go Up
Jump to: