Forum: Mikrocontroller und Digitale Elektronik Maple Mini Programmieren


von Alex (Gast)


Lesenswert?

Hallo,

ich versuche seit einiger Zeit mein Maple Mini (STM32F103DBT6) zu 
programmieren, verwende hierzu den ST-LINK V2 (Aliexpress).

Hier meine Verkabelung, sonst ist nichts angeschlossen:

(ST-LINK V2 ==> Maple Mini)

3.3V ==> VCC

RST ==> NRST

SWCLK ==> PA14/JTCK/SWCLK
SWDIO ==> PA13/JTMS/SWDIO

GND ==> GND

Beim Versuch ein Beispielprogramm (erstellt mit SW4STM32, den 
STM32F103DBT6 als Microcontroller ausgewählt) zu übertragen:

Dabei kommt der Fehler / die Meldung: ** Unable to reset target **
Debuggen ist nicht möglich mit dem Fehler: Error in final launch 
sequence

Hat jemand eine Idee was der Fehler sein könnte?

Liebe Grüße
Alex

von pegel (Gast)


Lesenswert?

Alex schrieb:
> Hat jemand eine Idee was der Fehler sein könnte?

Ja ;)

von Niklas Schmidt (Gast)


Lesenswert?

Vorweg: ich habe keine Erfahrung mit Deiner IDE.
Vielleicht ist der Ausleseschutz (readout protection) des Controllers 
gesetzt. Die Maple-Boards werden ja mit einem Bootloader programmiert 
ausgeliefert.
Das Zurücksetzen des Ausleseschutzes mittels OpenOCD war bei mir nötig, 
um das Board ohne die Maple-IDE zu verwenden:
1
openocd -f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg -c "init" -c "halt" -c "stm32f1x unlock 0" -c "shutdown"
Quelle: http://wiki.paparazziuav.org/wiki/STLink#Two_STLinkV2_Method

von DraconiX (Gast)


Lesenswert?

Ich erhalte im Laufe dieser Woche auch meine Mapple Boards. Was mich nun 
gerade wundert:

Niklas Schmidt schrieb:
> Das Zurücksetzen des Ausleseschutzes mittels OpenOCD war bei mir nötig,
> um das Board ohne die Maple-IDE zu verwenden:

Wieso ist es überhaupt möglich den Ausleseschutz so einfach zu umgehen?!

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

DraconiX schrieb:
> Wieso ist es überhaupt möglich den Ausleseschutz so einfach zu umgehen?!

dabei wird der Speicher gelöscht, also lässt sich danach nur ein 
gelöschtes Flash auslesen

von Alex (Gast)


Lesenswert?

Vielen Dank für die Antwort von Niklas Schmidt, leider kommt beim 
Ausführen des Commands nur die Fehlermeldung:

1
Info : Unable to match requested speed 1000 kHz, using 950 kHz
2
Info : Unable to match requested speed 1000 kHz, using 950 kHz
3
Info : clock speed 950 kHz
4
Info : STLINK v2 JTAG v17 API v2 SWIM v4 VID 0x0483 PID 0x3748
5
Info : using stlink api v2
6
Info : Target voltage: 3.223173
7
Error: init mode failed (unable to connect to the target)
8
in procedure 'init' 
9
in procedure 'ocd_bouncer'

Hat vielleicht jemand noch einen Lösungsvorschlag?

Liebe Grüße

von TomFy (Gast)


Lesenswert?

Versuche es mal, ohne den Reset anzuschließen.

Bei mir klappt es ohne, mit einem STM32F103C8T6-Billig-Board.

Gugst du hier: 
https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Programming-an-STM32F103XXX-with-a-generic-%22ST-Link-V2%22-programmer-from-Linux

von pegel (Gast)


Lesenswert?

Alex schrieb:
> Hat vielleicht jemand noch einen Lösungsvorschlag?

Ja :)

Ohne Reset Leitung, dafür in der cfg im Projektverzeichnis, wie auch in 
der target/stm32f1x.cfg muss das srst_only entfernt werden.

Achtung, bei einem Update ist es wieder drin.
Auch wenn ein neues Projekt erstellt wird ist es wieder in der 
<Projekt>.cfg

Ich habe mir für das Board eine Mini103.cfg in das übergeordneten 
Verzeichnis gelegt die ich bei Debug auswähle.

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.