XC161 Watchdog lößt beim Startup aus

OP #1296598
Lesenswert?

Hallo,

Ich habe ein kniffeliges Problem mit einem XC161 zu bieten:

Die 1. Charge von meine Boards hat gut funktioniert. Bei der 2. startet 
das (in einem externen Flash abgelegte) Programm erst nach ca. 20 - 30 
Sekunden. Ein Beep am Programmanfang teilt mir mit, das der Prozessor 
die Zeit offenbar in der Startuproutine verbringt. Das SYSTAT Register 
sagt aus, das der letzte Reset durch den Watchdog hervorgerufen wurde.

Der Effekt tritt nur auf, wenn die Spannunsversorgung eingeschaltet 
wird, nicht aber, wenn der Resettaster (über Resetbaustein auf RESIN 
verdrahtet) gedrückt wird.

Was kann also den Watchdog dazu veranlassen, einen Reset auszulösen, 
bevor das Programm gestartet ist?

Da die 1. Charge funktioniert hat ist ein Bestückungsfehler naheliegend, 
aber alles, was ich an Signalen gemessen habe ist soweit OK.

P.S.: Der Oszillator läuft ordentlich.

Vielen Dank für jede Idee
Gast #1296694
Lesenswert?

... denke, der interne WDT ist per default enabled und muss nach Tmax 
ausgeschaltet bzw. ordnungsgemäss getriggert werden (im startup-code vor 
EINIT(), wenn ich mich recht entsinne).
Entweder läuft also dein programm nicht los (kein code-fetch aus dem 
externen flash, aber der prozessor wird schon getaktet), oder es vergeht 
durch z.B. extensive variablen-initialisierung o.ä. zu lange zeit bevor 
der WDT abgeschaltet wird.
auf jeden fall Ub-Verlauf und *RESET mal mit scope anschauen, kann nie 
schaden...

gruss, tom

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren