Forum: Mikrocontroller und Digitale Elektronik UDP Bootloader Watchdog Problem


von dabuze (Gast)


Lesenswert?

Hallo Bootloader Experten,

ich habe den UDP Bootloader von http://www.avrportal.com/?page=avrnet
für den ATmega644 angepasst. Jetzt habe ich das Problem, das nach einem 
Watchdog reset nach dem programmieren der watchdog aktiv bleibt und mein 
Controller sich aufhängt.

Wenn ich ohne Bootloader arbeite und einen Watchdog reset herbeiführe
hat folgender code am Anfang des Hauptprogramms geholfen:
siehe 
http://www.nongnu.org/avr-libc/user-manual/group__avr__watchdog.html
1
uint8_t mcusr_mirror __attribute__ ((section (".noinit")));
2
3
void get_mcusr(void) \
4
  __attribute__((naked)) \
5
  __attribute__((section(".init3")));
6
void get_mcusr(void)
7
{
8
  mcusr_mirror = MCUSR;
9
  MCUSR = 0;
10
  wdt_disable();
11
}

Was aber muss ich am Anfang des Bootloaders schreiben damit, wenn der 
bootloader aktiviert ist, sich der controller nach einem WD-reset nicht 
in einer endlos-wdreset-loop befindet die nur noch mit power-on reset zu 
unterbrechen ist?

Viele Grüsse

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.