Forum: Mikrocontroller und Digitale Elektronik STM32 Programmieren mit STM32 Discovery


von AVRDude (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe hier ein STM32 Discovery board, genauer
https://www.st.com/en/evaluation-tools/32f429idiscovery.html
dieses Ding. Das kann ich auch mittels Atollic Studio
programmieren.

Soweit sogut.

Jetzt habe ich ein eigenes Board gebaut, mit einem STM32F071V8,
nur kann ich diesen nicht programmieren.

Herausgeführt habe ich SWDIO, SWDCLK, Reset und die Boardspannung.
(siehe Schematic). Prinzipiell sollten diese doch ausreichen.
Das Board wird mit 3.3V extern versorgt. Die Datenleitungen
habe ich mit dem Pinheader CN2 von dem Discoveryboard verbunden.
Die zwei Jumper von CN4 hab ich entfernt.

Ich bekomme allerdings keine Verbindung hergestellt. Ich nutze
das Tool "STM32 ST-Link Utility" doch bekomme beim Verbinden
nur die Fehlermeldung im Anhang. Wenn ich wie die MsgBox auffordert
in die Settings gehe steht statt der Serial Number auch nur
"Old-ST-LINK firmware/ST-LINK already used", und alle Settings
sind ausgegraut.

Wenn ich aber mein Board abklemme und die Jumper wieder setze
kann ich den STM32 auf dem Discoveryboard problemlos auslesen,
und die Serial Number ändert sich wieder zu der korrekten
Nummer.

Ich habe auch die Leitungen durchgemessen. Vom Pin selber
bis zum Header CN2 ist Durchgang. Die Boardspannung liegt
auch an, sowohl am Chip selber als auch an der TargetSense
Leitung.

Das Programmierkabel selber ist ca 8cm Flachbandkabel welches
mit einer Buchse den Pinheader verbindet.
(Meine Pinbelegung auf dem Board weicht von der Standard-SWD
Pinbelegung ab, ich habe aber durch überkreuzen der Leitungen
dies ausgeglichen)

Was mache ich da falsch?

von Fern Schätzer (Gast)


Lesenswert?

AVRDude schrieb:
> "Old-ST-LINK firmware/ST-LINK already used"

Der zweite Teil der Meldung weist möglicherweise darauf
hin dass dein ST-Link durch ein anderes Programm bereits
belegt ist.

Wenn dem so ist dann müsstest du also sicherstellen dass
gerade kein anderes STM-Programm auf den ST-Link will ...

Ansonsten müsstest du auch sicherstellen dass dein Controller
mit all seinen Pins richtig konfigurert ist, das ist aus
deinen Schaltplan-Fragment nicht zu entnehmen ob das so ist.

von Stefan F. (Gast)


Lesenswert?

Schau mal, ob du irgendwo die Reset-Methode einstellen kannst. Es gibt 
drei Methoden:

Connect after Reset
Wenn das Programm auf dem µC sofort nach dem Reset in den Sleep Modus 
wechselt oder die SWJ Schnittstelle deaktiviert, schlägt der 
Verbindungsaufbau eventuell auch fehl.

Connect during Reset
Geht immer, soweit ich weiss.

Software Reset
Benutzt die NRST Leitung nicht. Geht nicht während ein Sleep Moduls 
aktiviert ist oder wenn das Programm die SWJ Schnittstelle deaktiviert 
hat.

Manchen Leuten hilft es, zusätzlich den seriellen Bootloader (in deinem 
Fall über J5) zu aktivieren. Denn solange der aktiv ist, läuft kein 
störendes Programm.

Fern Schätzer schrieb es schon: Um das ST-Link Utility zu benutzen, 
musst du eventuell die IDE vorher schließen.

von AVRDude (Gast)


Lesenswert?

Gut, die Seriennummer stimmt jetzt. Atollic
trennt sich tatsächlich nicht richtig von
dem STLink.

Der Chip selber ist fabrikneu. Ich hab also daran
noch nichts umstellen oder programmieren können.

Fern Schätzer schrieb:
> Ansonsten müsstest du auch sicherstellen dass dein Controller
> mit all seinen Pins richtig konfigurert ist, das ist aus
> deinen Schaltplan-Fragment nicht zu entnehmen ob das so ist.

Wie meinst du konfiguriert?
die 3.3V liegen an (3.27V), BOOT0 hängt an dem Pulldown auf GND.
Reset ist dauerhaft auf GND durch den Programmmer.

Habe mal alle 3 Modi (normal, hotplug und connect under reset)
durchprobiert, keine Änderung. Auch normal + Software reset
gibt keine Änderung. Auch nicht mit reduzieren der
Taktrate.

Mit dem Jumper J5 kann ich mal testen, allerdings ist der
Chip halt noch komplett neu, daher dürfte kein störendes
Programm laufen.

Hab auch mal an den Leitungen gemessen. Auf SWDCLK liegt
etwas an was man als Taktsignal sehen kann, auf SWDIO
kommen entsprechend serielle Daten. Reset ist dauerhaft
LOW.

von Stefan F. (Gast)


Lesenswert?

> Reset ist dauerhaft LOW.

schlecht. Kurzschluss?

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
Noch kein Account? Hier anmelden.