Forum: Mikrocontroller und Digitale Elektronik XC161 Watchdog lößt beim Startup aus


von Tobias D. (tobias-de-man)


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

von Z8 (Gast)


Lesenswert?

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

zu niedrige Anstiegsgeschwindigkeit Deiner Ub? Z8

von tom (Gast)


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

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.