Hallo Leute! Ich arbeite mit einem STM32 auf einem selbst erstellten Board. Als JTAG-Adapter verwende ich den OpenOCD, den's bei openprojects zu erstehen gibt. Da ich unter normalen Arbeitsbedingungen des Boards den ganzen Port B als IO benötige, muss ich JTAG in der initialisierung dektivieren. Zum debuggen kann ich notfalls auf die zwei Bits des JTAG im Port B verzichten. * Flashen ohne JTAG-dekativieren geht problemlos und direkt aus dem Makefile * Bei JTAG-deaktivierung erhalte ich schon beim "init" die Fehlermeldung, dass JTAG nicht erreichba ist - klar! Aber ohne init beschwert sich openocd über diverse Befehle, sie seien unbekannt. * Bei JTAG-deaktivierung kann ich das Board flashen, indem ich die Reset-Taste gedrückt halte und erst loslasse, wenn ich den Befehl zum flashen gegeben habe. Nun zu meiner Frage: Wie kann ich OpenOCD dazu bringen, zuerst SRST\n zu aktivieren und dann mit dem flashen zu beginnen. LG Gabriel
Man kann in OpenOCD die Reset-leitungen direkt ansprechen:
1 | jtag_reset 0 1 |
OpenOCD hat ein `help` Kommando:
1 | jtag_reset trst_active srst_active |
2 | Set reset line values. Value '1' is active, value '0' is inactive. |
Das setzt voraus, das die reset_config ein srst zulässt.
Turbo J, vielen Dank für den Hinweis! Das ist schon ein Schritt weiter... Die SRST Leitung wird auch schön aktiviert, doch ich bekomme die Schaltung trotzdem noch nicht scriptgesteuert programmiert. Hat jemand eine Prozedur, wie ich die JTAG Pins reusen und trotzdem über JTAG programmieren kann? Also den Prozessor zu resetten BEVOR JTAG ansprechbar ist. In dem kurzen Fenster, in dem JTAG nach dem Reset noch aktiv ist, JTAG starten, den Prozessor anhalten und flashen. Wer weis eine Möglichkeit SRST VOR dem "init" Befehl zu aktivieren ? LG Gabriel
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.