Forum: Compiler & IDEs stlink unter Linux kompilieren


von Joe (Gast)


Lesenswert?

Hallo allerseits,

ich hoffe die Frage passt halbwegs hier rein. Ich versuche folgende 
Toolchain unter Ubuntu zu installieren: 
http://www.mikrocontroller.net/articles/STM32F4-Discovery

Allerdings gestalltet sich der Punkt mit dem kompilieren der stlink 
Software als schwierig. Ich wechsel in das Verzeichnis mit den Files und 
versuche "make" auszuführen. Ich ernte folgende Meldung:

make: *** Keine Targets angegeben und keine »make«-Steuerdatei gefunden. 
Schluss.

Ich habe die nötigen Pakete die laut readme erforderlich sind 
installiert. Ich glaube ich mach grundsätzlich etwas falsch.


VIelen Dank,

Joe

von hp-freund (Gast)


Lesenswert?

Joe schrieb:
> Ich wechsel in das Verzeichnis mit den Files und
> versuche "make" auszuführen.

Meinst Du das stlink Verzeichnis?
Gibt es ein Makefile?
Wenn nicht musst Du erst mal ./autogen.sh und ./configure ausführen.

von luxxxxs (Gast)


Lesenswert?

>Wenn nicht musst Du erst mal ./autogen.sh und ./configure ausführen.
So hat's bei mir fonktioniert.
Hatte genau das gleiche Problem. Im Wiki Artikel ist das nicht 
beschrieben.
Hab zuvor autogen installiert. Weiß nicht, ob das notwendig war.

von Joe (Gast)


Lesenswert?

Ja ich meine das stlink Verzeichnis. Es gibt eine Datei names 
Makefile.am.
Laut Anleitung/Readme soll ein einfaches make genügen.
1
~/src/stlink# Makefile.am
2
Makefile.am: command not found
1
~/src/stlink# make
2
make: *** Keine Targets angegeben und keine »make«-Steuerdatei gefunden.  Schluss.
1
./autogen.sh
2
./autogen.sh: Zeile 2: autoreconf: Kommando nicht gefunden.
1
./configure
2
bash: ./configure: Datei oder Verzeichnis nicht gefunden

Alles selbstverständlich als root ausgeführt.

von Joe (Gast)


Lesenswert?

Ich glaub ich installier nochmal "autoconf"

von hp-freund (Gast)


Lesenswert?

Gute Idee. "automake" auch gleich...

von luxxxxs (Gast)


Lesenswert?

Grad in der Konsole nachgeschaut.
Das hab ich gemacht:
1
sudo apt-get install autoconf
1
./autogen.sh
1
sudo apt-get install  libtoolize
 ?? Warum auch immer !?
1
./configure
1
make

...

Tipp:
Das Flashen geht sehr langsam.
Deshalb hab ich die Debugconfiguration, dupliziert, diese in "run .." 
umbenannt und das Load rausgenommen.
Wenn nichts mehr geht, ST-Link und das debuggen komplett beenden. Reset 
Knopf auf dem Board drücken, ST-Link neu starten und nun nur noch das 
"run .." starten (ohne flashen)

von Joe (Gast)


Lesenswert?

Danke das hat geholen: "sudo apt-get install autoconf"
Jetzt kann ich wenigstens die stlink software kompilieren.

Grüße Joe

von Joe (Gast)


Lesenswert?

Jetzt habe ich das Problem, dass die Maske für die Einstellung der Debug 
Configuration anders aussieht wie im Tutorial beschrieben. Dort findet 
sich keine Einstellung für gdb-command. Lediglich den Port kann ich 
einstellen (habe 4242 eingestellt).

Damit erhalten ich dann die Fehlermeldung: Kann Datei nicht laden.

Hat jemand Erfahrung was die einstellungen des GDB Servers in der 
neusten Eclipse version betrifft?

Danke und Grüße,
Joe

von _Jochen_ (Gast)


Lesenswert?

Welches Eclipse hast Du ? Indigo ?

von _Jochen_ (Gast)


Lesenswert?

Ich habe Helios installiert.
Ich hatte bei Indigo auch einige Probleme.

Du kannst ohne Probleme 2 verschiedene Eclipse Versionen parallel 
installiert haben:

http://www.eclipse.org/downloads/packages/release/helios/sr2

von Joe (Gast)


Lesenswert?

Ja, Indigo. Ich google noch wie verrückt aber ...nichts :-/

von _Jochen_ (Gast)


Lesenswert?

Dann probier's doch mal mit Helios.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Hmmm, also hier lies sich alles in Indigo wie im Tutorial einstellen.

Zeig doch mal einen Screenshot mit dem fraglichen Dialog.

luxxxxs schrieb:
> Tipp:
> Das Flashen geht sehr langsam.
> Deshalb hab ich die Debugconfiguration, dupliziert, diese in "run .."
> umbenannt und das Load rausgenommen.
> Wenn nichts mehr geht, ST-Link und das debuggen komplett beenden. Reset
> Knopf auf dem Board drücken, ST-Link neu starten und nun nur noch das
> "run .." starten (ohne flashen)

Das Flashen dauert hier auch extrem lange.

Ich war so dumm ("Einfach mal testen ..."), die im Tutorial beschriebene 
Sicherungskopie (Größe 1MB) direkt wieder aufzuspielen - das hat über 10 
Minuten gedauert.

Ist nur st-flash so langsam oder fehlt mir irgendwo eine Einstellung - 
oder ist es sogar generell nicht schneller möglich?

Dann möchte man ja nicht größere Programme entwickeln - das erinnert 
mich an die guten alten PIC-Zeiten: programmieren, testen, ab unter die 
UV-Lampe, warten ...

Chris D.

von Joe (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ein Screenshot habe ich angehängt. Das tutorial sagt:

>> Bei geöffnetem Projekt klickt man im Hauptmenü auf
>> Run > Debug Configurations.... In der Liste links klickt man mit
>> der Rechten Maustaste auf GDB Hardware Debugging und wählt New.

außerdem:

>> Auf der Registerkarte Debugger wird in das Eingabefeld
>> GDB-Command: arm-none-eabi-gdb eingetragen.

Beides kann ich nicht finden :-/


Grüße Joe

von luxxxxs (Gast)


Lesenswert?

ich würde sagen, Dir fehlt das GDB Hardware Plugin.

von luxxxxs (Gast)


Lesenswert?

Im Hauptfenster wählt man dann den Menüpunkt Help > Install New 
Software... es erscheint ein neuer Dialog. Das Eingabefeld Work with: 
wird mit http://download.eclipse.org/tools/cdt/releases/indigo 
ausgefüllt und mit der Return-Taste abgeschickt.

Im unteren Teil des Dialogs werden nun die verfügbaren Plugins 
aufgelistet, benötigt wird ...... GDB Hardware Debugging aus der Rubrik 
CDT Optional Features. Einfach ein Haken vor den Plugins machen und auf 
Next klicken. Es erscheint eine Zusammenfassung und eine Seite weiter 
die Lizenz, die man sich durchlesen sollte und dann bestenfalls 
bestätigt. Mit einem klick auf Finish wird das Plugin heruntergeladen 
und installiert.

Nach der Installation des Plugins sollte Eclipse neu gestartet werden.

von Joe (Gast)


Lesenswert?

luxxxxs schrieb:
> ich würde sagen, Dir fehlt das GDB Hardware Plugin.

Im Tut steht, dass der Punkt CDT übersprungen werden kann, wenn man das 
Indigo für C++ Developer hat. Das habe ich und ich habs übersprungen. 
Dadrin steht das mit dem GDB Server :-/

Ich installiere ihn sofort nach...

von luxxxxs (Gast)


Lesenswert?

Der Tutor hat wohl gemeint, das CDT Plugin überspringen, aber das GDB 
Plugin dann doch wieder nicht ;)

von Joe (Gast)


Lesenswert?

okay alles geht. Danke für die guten Tipps.

Joe

von luxxxxs (Gast)


Lesenswert?

>Das Flashen dauert hier auch extrem lange.
Warum hat eigentlich ein "fast" leeres Projekt bereits 60kBytes ?

von Joe (Gast)


Lesenswert?

jetzt lässt es sich kompilieren. stlink startet.

aber im Debugger steht
1
No source available for "0x800f2a0"


ich weiß nicht mehr weiter...

von luxxxxs (Gast)


Lesenswert?

ignoriere es einfach mal. So Meldungen hab ich auch ab und zu.
Kannst Du es starten ?
Wenn nicht.
Mach mal ein Reset wie oben beschrieben und starte neu.

von Joe (Gast)


Lesenswert?

okay ein paar Resets haben geholfen. auch Mal strom weg und wieder ran 
hab ich gemacht. DIese ganze toolchain läuft zwar gelegentlich, 
erscheint mir aber sehr wackelig...

von luxxxxs (Gast)


Lesenswert?

>DIese ganze toolchain läuft zwar gelegentlich,
>erscheint mir aber sehr wackelig...
Bei mir sind's 75% der Flashvorgänge.
Beim Rest muss ich resetten und nochmals (ohne Flashen) neu starten.
Dann geht's aber in 99%.

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.