Hallo, ich habe eine kleine Schaltung mit einem STM32F051K6T6 aufgebaut, das HEX-File mit ST-LINK in den Flash geschrieben und mit ST-LINK einen Core Reset ausgelöst. In dieser Konstellation läuft das Programm einwandfrei. Wenn ich jetzt die Verbindung zum ST-LINK (SWD) löse und den Prozessor durch aus- und anschalten der Betriebsspannung neu starte, läuft das Programm nicht. Erst wenn ich jetzt den ST-LINK verbinde und einen core reset auslöse ist wieder alles OK. BOOT0 ist auf 0 (VSS), so dass aus dem Flash gestartet wird. Da mein SWD-Anschluss kein Reset hat, sollte es nicht an der Bootkonfiguration liegen können. Hat irgend jemand eine Idee, wie dieses Verhalten, das ich in ähnlichen Schaltungen mit dem gleichen Prozessor nicht hatte, zu erklären ist? Grüße, Kurt
>Hat irgend jemand eine Idee, wie dieses Verhalten, das ich in ähnlichen >Schaltungen mit dem gleichen Prozessor nicht hatte, zu erklären ist? Du hast nicht zufällig Semihosting aktiviert?
Hallo Holger, wenigstens nicht bewusst :-). Und in dem kleine Programm gibt es keinen einzigen print. Dass ein print in den HAL_...-Funktionen versteckt ist, nehme ich nicht an. Zusatzinfo: Das Programm wartet auf eine Sequenz aus 2 Zeichen (UART1), liest dann 2 ADC-Kanäle und sendet die Daten über UART1 raus. Grüße, Kurt
Hallo, nach einigen weiteren Versuchen hat sich herausgestellt, dass das Programm doch gestartet wird. Allerdings erfolgt dieser Start nur, wenn die Spannungsversorgung direkt an der Schaltung/dem Prozessor unterbrochen wird. Die Schaltung, ein Stromsensor für Telemetrie an einer FrSky Taranis, wird aber eigentlich vom Empfänger versorgt. Schalte ich die Empfängerversorgung aus und wieder ein, läuft das Programm nicht, schalte ich dann die Schaltung aus und wieder ein, läuft alles bestens. Soweit der Zwischenstand. Ich werde über eine endgültige Lösung berichten :-). Grüße, Kurt
Hallo, wie versprochen hier die endgültige Lösung: Da der Sensor sowieso einen WatchDog bekommen sollte, wurde mit dem auch gleich das Startproblem gelöst. Sollte das Eingangssignal am UART nicht erkannt werden, erfolgt nach ca. 1s ein Reset vom WatchDog und alles ist OK. Verwendet habe ich hierfür den indepedant WatchDog IWDG mit den HAL_-Funktionen. Grüße, Kurt
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.