chip45boot2 - nach Watchdog Reset keine Verbindung zum Bootloader

OP #1744388
Lesenswert?
• ▲
▼
Hallo,

irgendwie will es mir nicht gelingen, per Watchdog Reset in den 
Bootloader zu springen.
Nutze den chip45boot2 loader inkl der Windows GUI am ATmega168.

Mit einem echten Hardware Reset klappt das auch alles wunderbar.

Nun will ich aber ja nicht noch einen Reset-Knopf rausführen und diesen 
drücken müssen. Habe daher folgende Passage in das Prog eingefügt:
1
ISR (USART_RX_vect)
2
{
3
  if(UDR0=='R'){      //Reset-Signal für BT-Bootloader bekommen?
4
    cli();            //Interrupts deaktivieren
5
    wdt_enable(0);    //Watchdog mit kürzestem Teiler einschalten
6
    while(1);         //Endlosschleife bis Reset
7
  }
8
}

Schicke ich nun über die UART ein 'R', reseted der Controller und 
startet das normale Programm von vorne.

Will ich nun über die chip45boot2 GUI den uC reseten um dann eine 
Verbindung zum Bootloader zu bekommen, klappt das einfach nicht. Der uC 
resetet und startet dann neu. Doch der Bootloader wird von der GUI nicht 
erkannt.
Im Log steht dann:
1
Trying to open port COM1 with 9600 baud...
2
Trying to connect to bootloader at COM1 with 9600 baud...
3
No bootloader found.

Wie oben gesagt, starte ich die GUI und mache dann einen Hardware-Reset, 
klappt es:
1
Trying to open port COM1 with 9600 baud...
2
Trying to connect to bootloader at COM1 with 9600 baud...
3
Found chip45boot2 bootloader version v2.98

Hat einer Erfahrungen mit dem chip45boot und kann mir ggf helfen? 
Irgendwie muss das doch auch über den WatchDog Reset gehen.

Angefügt ein Screenshot von der GUI und den Fuses.

Danke & Gruß,
Torsten
Angehängte Dateien:
Gast #1781711
Lesenswert?
• ▲
▼
Hi !

Ich mache es so: (allerdings ohne Watchdog)


#define update_software asm volatile ( "jmp 0x3800" )

ISR (USART_RX_vect)
{
  if(UDR0=='R'){      //Reset-Signal für BT-Bootloader bekommen?
    cli();            //Interrupts deaktivieren
    update_software;  // Springe in den Bootloader-Breich
  }
}



Gruß Tweety

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.