Forum: Compiler & IDEs ST-Link Integration in TrueStudio Atollic


von Pete K. (pete77)


Lesenswert?

Hallo,
ich möchte gerne mein STM32 Projekt aus der Atollic TrueStudio IDE 
heraus flashen. Weiss jemand, wie man das einrichtet? Wahrscheinlich 
unter RUN->External Tools, oder gibt es einen eleganteren Weg?
Immerhin wollte die Installation die ST-Link udev files schreiben.

Mein Setup:
- BluePill Board
- ST-Link V2 Clone
- Ubuntu 18.04

Viele Grüße,
Pete

von Jim M. (turboj)


Lesenswert?

Pete K. schrieb:
> Immerhin wollte die Installation die ST-Link udev files schreiben.

Hast Du das zugelassen? Ansonsten funzt der ST Link nur als root...

von Dr. Sommer (Gast)


Lesenswert?

Du musst doch nur eine run Konfiguration anlegen und da ST-Link 
auswählen, ggf. Unter OpenOCD. Nix externes Tool, das ist ordentlich 
integriert.

von Pete K. (pete77)


Lesenswert?

Dr. Sommer schrieb:
> Du musst doch nur eine run Konfiguration anlegen und da ST-Link
> auswählen

Ich glaube, genau daran scheitert es bei mir. Unter debug bekomme ich 
das Programm geflashed, aber dann bin ich immer im Debug mode. Dazu habe 
ich nichts weiter eingestellt.
Wie funktioniert das bei "run"?

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

Unter Debug bekomme ich Embedded angezeigt und sehe auch den ST-Link. 
Unter RUN fehlt Embedded (siehe Fotos), daher kann ich auch keinen 
Launcher auswählen.

von Dr. Sommer (Gast)


Lesenswert?

Pete K. schrieb:
> Unter RUN fehlt Embedded (siehe Fotos), daher kann ich auch keinen
> Launcher auswählen.

Ich hab mich verschrieben, ich meinte Debug Configuration.

Pete K. schrieb:
> Unter debug bekomme ich
> das Programm geflashed, aber dann bin ich immer im Debug mode.
Ist doch supi, was willst du mehr? Programm ist drauf, kann debuggt 
werden, oder kann einfach nur durchlaufen ("Continue" nach dem Start 
anklicken).

von Pete K. (pete77)


Lesenswert?

Was ich möchte? Na, ohne Debug das Programm laufen lassen ;-)

von Dr. Sommer (Gast)


Lesenswert?

Pete K. schrieb:
> Was ich möchte? Na, ohne Debug das Programm laufen lassen ;-)

Wozu? Starte es in der Debug Session und drück auf "Continue" (F8), dann 
läuft es wie ohne Debug, sofern keine Breakpoints gesetzt sind. Der eine 
Tastendruck wird deine Tastatur schon nicht abnutzen.
Wenn es unbedingt sein muss terminierst du die Debug Session sofort 
wieder und drückst den Reset-Button.

von Pete K. (pete77)


Lesenswert?

Jetzt habe ich ein lustiges Phänomen. Ich habe ein blinky 500ms drauf 
gehabt.

Allerdings möchte ich nun mein neues Programm draufspielen, allerdings 
ohne blinky.
Im Debugger scheint das auch zu funktionieren, allerdings wenn ich den 
reset-Knopf drücke, dann beginnt die LED wieder im 500ms Sekunden Takt 
zu blinken.

Es scheint so, dass der Debugger das Programm nicht flashed. (?)

von Dr. Sommer (Gast)


Lesenswert?

Pete K. schrieb:
> Es scheint so, dass der Debugger das Programm nicht flashed. (?)

Möglich, wenn du im Linkerscript den RAM als Ort für den Code angegeben 
hast.

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

Dr. Sommer schrieb:
> Pete K. schrieb:
>> Es scheint so, dass der Debugger das Programm nicht flashed. (?)
>
> Möglich, wenn du im Linkerscript den RAM als Ort für den Code angegeben
> hast.

Sieht für mich ok aus. Siehe Foto anbei.

von Dr. Sommer (Gast)


Lesenswert?

Pete K. schrieb:
> Sieht für mich ok aus. Siehe Foto anbei.
Das muss ja irgendwie ein Linkerscript generieren/auswählen, 
typischerweise mit Dateiendung .ld . Zeig das mal.
Zeig auch mal die Ausgabe von "arm-none-eabi-readelf -S Radio.elf".
Falsche Blink-Frequenz kann auch aus falscher Oszillator- oder 
Timer-Konfiguration resultieren.

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

Anbei das Linker-Skript

von Dr. Sommer (Gast)


Lesenswert?

Pete K. schrieb:
> Anbei das Linker-Skript

Sieht ok aus, müsste so funktionieren.

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

und das zweite File.

von Dr. Sommer (Gast)


Lesenswert?

Sieht auch ok aus. Wenn OpenOCD und GDB keine Fehler melden müsste so 
geflasht werden; der Fehler ist wahrscheinlich woanders. Flashe mal ein 
Programm welches nur eine LED einschaltet und an lässt, und guck ob das 
bleibt.

von Pete K. (pete77)


Lesenswert?

Danke für Deine Hilfe!
Ich hatte heute Morgen wohl irgendwann mal von Debug auf Release 
umgeschaltet, daher hat er immer das falsche geflashed. Im Filesystem 
kann man das am timestamp sehen.

von baumschubser (Gast)


Lesenswert?


von Ingo Less (Gast)


Lesenswert?


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.