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