STM32 GPIO finder

OP #7656310
Lesenswert?

Ich habe einen STM32 auf mir unbekannter Platine und keine Lust das Layout zu reversen. Es sind diverse Ein- und Ausgänge verkabelt.

Meine Idee war alle GPIOs als Eingang zu definieren und über Debugging live zu monitoren an welchem GPIO sich was tut. Bin nicht so bewandert mit den STM Workbenches. Gibt es dafür schon was fertiges oder muss ich mir das in Arduino selbst schreiben?

Würde auf jeden Fall schneller gehen als die Platine wieder auszubauen.

edit: Ganz speziell suche ich den Eingang BKL und die Ausgänge Brake light und Light output. Die anderen GPIOs scheinen zu stimmen, einen Teil davon habe ich reversed.

edit2: Mir ist bewusst dass es schneller geht das selbst zu programmieren als hier im Forum zu fragen. Mich interessieren aber mögliche Boardmittel von denen ich noch nichts weiß.

Angehängte Dateien:
#7656387
Lesenswert?

Niklas G. schrieb:

Soweit ich weiß hängen die IO-Register von STM32 nicht direkt in der JTAG-Chain. Stattdessen greift man über JTAG auf den Debug Port zu, welcher dann auf den Prozessorbus zugreifen kann und darüber auf die Peripherie-Register. Zählt das noch als Boundary-Scan?

Boundary Scan und Debugging über JTAG haben wenig miteinander zu tun, außer dass beides über JTAG gemacht wird. Die STM32 können beides (falls sie JTAG und nicht nur SWD haben).

#7656392
Lesenswert?

Niklas G. schrieb:

Soweit ich weiß hängen die IO-Register von STM32 nicht direkt in der JTAG-Chain. Stattdessen greift man über JTAG auf den Debug Port zu, welcher dann auf den Prozessorbus zugreifen kann und darüber auf die Peripherie-Register. Zählt das noch als Boundary-Scan?

Jeder anstaendige Debugger kann die IO-Register mehr oder weniger auskodiert anzeigen, und auch modifizieren. Es ist mir herzlich egal wie er das macht, so lange es keinen extra Trace/Bla-Adapter braucht.

Es ist uebrigens eine nette (Vor-)Fingeruebung, mal alles notwendige nur mit dem Debugger zu initialisieren und an den Pins zu wackeln.

OP #7656408
Lesenswert?

Doch das kann ich. PB9 schaltet aber nur das Rücklicht an, für das Vorderlicht muss es auch noch einen Pin geben. Auf dem Blue Pill hab ich es grob getestet, auf dem richtigen Controller jedoch nicht. Jetzt hab ich es auf dem Teststand.

Ich habe noch nicht mit Cube gearbeitet, in meiner Vorstellung war das eine grafische Variante Code zusammen zu klicken. Hätte ja sein können da gibt's auch ne grafische Darstellung für die GPIO Konfiguration.

(Firma: egal) #7656566
Lesenswert?

Alexander schrieb:

Hätte ja sein können da gibt's auch ne grafische Darstellung für die GPIO Konfiguration.

Da steht aber auch nur ob die einzelnen Bits des GPIO als Eingang oder Ausgang, mit/ohne pulldown/pullup usw. konfiguriert sind. Ggf. noch ob sie aktuelle 0 oder 1 sind. Da gibt es keine Infos darüber was auf der "anderen Seite" des µC da dranhängt.

Alle auf Eingang konfigurieren wird dir auch keine Info darüber liefern, was da eventuell aus Ausgang dran beschaltet ist. Im schlechtesten Fall erkennst du so noch nicht mal ob da überhaupt eine Leitung dran hängt oder der Pin in der Luft hängt. Bei denen, die als Eingang beschaltet sind, bekommst du auch höchstens angezeigt ob die gerade 0 oder 1 sind. Die "verraten" dir aber auch nichts darüber von welchem Teil der Schaltung der Zustand gerade kommen. Das alles verrät dir nur ein Schaltplan, oder du musst irgendwie versuchen gezielt irgendwelche Pegel in die Schaltung einzuspeisen, um zu schauen ob sich was verändert (möglichst ohne die Schaltung dabei zu himmeln:-).

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