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
#1296604
>Was kann also den Watchdog dazu veranlassen, einen Reset auszulösen, >bevor das Programm gestartet ist? zu niedrige Anstiegsgeschwindigkeit Deiner Ub? Z8
Gast
#1296694
... 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.