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
>Was kann also den Watchdog dazu veranlassen, einen Reset auszulösen, >bevor das Programm gestartet ist? zu niedrige Anstiegsgeschwindigkeit Deiner Ub? Z8
... 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.