STM32 wie kann Programmausführungsmodus festgestellt werden

OP #2469977
Lesenswert?

Ist es möglich beim STM32 den Programmausführungsmodus anhand des 
Zustands bestimmten Pins festzustellen?

Upload von Blink-LED Programm über die serielle Schnittstelle 
funktioniert, aber es blinkt keine LED.

Jetzt ist die Frage halt ob der Programmausführungsmodus überhaupt 
aktiviert wird. Laut Boot Pins ja.
#2470004
Lesenswert?

Ausserhalb von Reset und ohne aktivem JTAG/SWD-Debugger führt der 
Controller entweder ein Programm aus, oder hat sich zwecks Strom sparens 
schlafen gelegt, oder hat sich aufhängt.

Wenn selbst ein Trivialprogramm nicht zur Aktivierung von LEDs führt, 
dann ist entweder die LED-Steuerung nicht korrekt - was beim STM32 
leicht der Fall sein kann, weil deutlich komplexer als bei 51/PIC/AVR - 
oder es scheitert schon in der Startphase vor dem Aufruf von main().

Wär besser Du verrätst mehr über Programm und Entwicklungsumgebung.
Gast #2470030
Lesenswert?

Beim internen Bootloader gibt es meines Wissens keine solche 
Indikatorpins. Beim internen USB Bootloader sieht man, ob es sich 
entsprechend am USB Port enummeriert. An der seriellen Schnittstelle 
koennte man probieren, ob er sich dem Protokoll entsprechend verhaelt.
OP #2470206
Lesenswert?

hp-freund schrieb:
> Ja, am blinken der LED ;-)

Ja, das wäre mal ein schönes Weihnachtsgeschenk!

> Takt für Port aktiviert? Endlosschleife am Schluss? Reset ok?
> Zeig doch mal den Code.

Hier ist ein Beitrag dazu:
Beitrag "STM32 kann jemand ein Demo Programm schreiben?"

Hier der Code:
Beitrag "Re: STM32 kann jemand ein Demo Programm schreiben?"

Uwe Bonnes schrieb:
> Beim internen Bootloader gibt es meines Wissens keine solche
> Indikatorpins. Beim internen USB Bootloader sieht man, ob es sich
> entsprechend am USB Port enummeriert. An der seriellen Schnittstelle
> koennte man probieren, ob er sich dem Protokoll entsprechend verhaelt.

Wenn der Boot0 Pin auf high gelegt wird dann wird korrekt in den
Bootloadermodus gestartet und das Programm kann geflashed werden. Das 
funktioniert.

Wenn der Boot0 Pin auf low ist (Boot1 pin ist hierbei egal) dann 
funktioniert der Bootloadermodus NICHT. Also kann nach meiner Logik dann 
nur noch der Programmausführungsmodus aktiviert sein.

Ich denke das ist ein Softwareproblem. Die Hardware scheint in Ordnung 
zu sein.

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