Forum: Mikrocontroller und Digitale Elektronik STM32CubeMX unter Linux: Fehler in Projektgenerierung?


von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Hallo!

Ich möchte gerne langfristig unsere 7-Zoll-LCDs nicht mehr per eigenem 
Controller (bspw. SSD1963) ansprechen sondern direkt.

Also schnell das STM32F429-Discovery gekauft, um dort dann ein Display 
anzuschließen.

Da ich die Idee hinter STM32CubeMX ganz gut finde (Fehlerreduzierung und 
eine gute Übersicht des Pinmappings), wollte ich mir von dem Programm 
eine Vorlage generieren lassen.

Das Programm macht auch soweit alles, allerdings meckert er mich bei der 
Codegenerierung an, dass die C-Dateien zwar erzeugt wurden, aber die 
spezifischen Dateien für TrueStudio (Linker-Skript etc.) wurden nicht 
erzeugt, im Verzeichnis "Projects" steht nichts. Dasselbe Ergebnis gibt 
es auch bei den anderen IDEs.

Im Terminal steht:
1
java.io.FileNotFoundException: /usr/local/stm32/STM32CubeMX/db/plugins/projectmanager\stm32tck.cfg (Datei oder Verzeichnis nicht gefunden)
2
  at java.io.FileInputStream.open(Native Method)
3
  at java.io.FileInputStream.<init>(Unknown Source)
4
  at java.io.FileInputStream.<init>(Unknown Source)
5
  at java.io.FileReader.<init>(Unknown Source)
6
  at convertor.Convertor.getTplVer(Convertor.java:1152)
7
  at convertor.Convertor.setTemplates(Convertor.java:536)
8
  at convertor.Convertor.setDataPath(Convertor.java:1495)
9
  at com.st.microxplorer.plugins.projectmanager.model.ToolchainGenerator.setDllDataPath(ToolchainGenerator.java:116)
10
  at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.createToolChainFolders(ProjectBuilder.java:934)
11
  at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.createProject(ProjectBuilder.java:339)
12
  at com.st.microxplorer.plugins.projectmanager.engine.GenerateProjectThread.run(GenerateProjectThread.java:36)
13
Project Generator version: 1.5.1

"stm32tck.cfg" existiert - offenbar gibt es Ärger mit "/" und "\".

Bevor ich jetzt an ST schreibe, wollte ich mal hören, ob noch jemand 
unter Linux diese Probleme hat oder das nur bei mir auftritt. Ich bin 
auch kein Java-Experte ;-)

Java-Version: java version "1.7.0_45"
CubeMX: 4.5.0

CubeMX läuft hier nicht als Eclipse-Plugin, sondern alleinstehend über 
"java -jar STM32CubeMX.exe" auf Ubuntu 14.04

Besten Dank!

von MartinFly (Gast)


Lesenswert?

>offenbar gibt es Ärger mit "/" und "\"

Direkt kann ich dir jetzt nicht helfen, da ich unter Linux den Code 
Generator nicht benutze.

Die Cube Lib schon.
Und dort sind viele Includes mit "\" drin, was der GCC nicht mag.
Hab per Hand alle "Windows-Slashes" gegen Normale getauscht, die dann 
sowohl unter Win, wie auch unter Linux tun

von hp-freund (Gast)


Lesenswert?

Chris D. schrieb:
> "java -jar STM32CubeMX.exe" auf Ubuntu 14.04

Das ist schon recht sportlich ;-)

Auf Anfrage bei ST erhälst Du sicher die Antwort die auch im dortigen 
Forum gegeben wird.
Da war etwas mit einer beötigten dll die nicht unter Linux läuft.

Wenn ich mir die stm32tck.cfg ansehe, sieht der Inhalt nicht unbedingt 
nach Linux aus:
1
templates    installdir    exe
2
EWARM  1.0  C:\Program$Files$(x86)\IAR$Systems\Embedded$Workbench 6.5  common\bin\IarIdePm.exe
3
MDK-ARM  1.0  C:\Keil_v5  UV4\UV4.exe
4
TrueSTUDIO  1.0  C:\Program$Files$(x86)\Atollic\TrueSTUDIO$for$ARM$Pro$5.0.0  ide\TrueSTUDIO.exe
5
RIDE  1.0  C:\Raisonance\Ride  bin\Ride7.exe

Was steht in deiner?
Vielleicht lässt sich die Umgebung anpassen.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

hp-freund schrieb:
> Chris D. schrieb:
>> "java -jar STM32CubeMX.exe" auf Ubuntu 14.04
>
> Das ist schon recht sportlich ;-)

Naja, immer noch besser, als es in der VM starten zu müssen ;-)

> Auf Anfrage bei ST erhälst Du sicher die Antwort die auch im dortigen
> Forum gegeben wird.
> Da war etwas mit einer beötigten dll die nicht unter Linux läuft.

Hast Du da einen Link?

> ...
> Was steht in deiner?

Dasselbe :-)

> Vielleicht lässt sich die Umgebung anpassen.

So, wie ich die Fehlermeldung verstehe, ist das Problem nicht diese 
Datei oder deren Inhalt sondern das Nichtfinden dieser - offenbar 
aufgrund des Backslashes.

Leider findet auch ein "grep -rn stm32tck.cfg" nichts in den anderen 
Dateien.

von hp-freund (Gast)


Lesenswert?

Chris D. schrieb:
> So, wie ich die Fehlermeldung verstehe, ist das Problem nicht diese
> Datei oder deren Inhalt sondern das Nichtfinden dieser - offenbar
> aufgrund des Backslashes.

Ich denke es ist das Nichtfinden der TrueSTUDIO.exe das die Meldung 
verursacht und da diese vermutlich das Projekt erstellt wird das auch 
nichts.

von hp-freund (Gast)


Lesenswert?

Das nehm ich zurück.
Ich hab ja selbst schon mal unter Win ohne Truestudio ein Projekt 
erstellt.

Sorry

von hp-freund (Gast)


Lesenswert?

Ich wollte es auch mal ausprobieren, aber ich fürchte es steht alles 
schon hier:

http://fivevolt.blogspot.de/2014/07/installing-stm32cubemx-on-linux.html

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Wie gesagt - die Generierung des eigentlichen Codes funktioniert.

Nur der letzte kleine Rest mit Linker-Skript wird nicht generiert.

Ich habe das zwar jetzt händisch nachgeholt und das "leere" Projekt 
kompiliert jetzt auch korrekt - aber es wäre schön, wenn dieser letzte 
Teil auch noch durchlaufen würde.

Und vor allem wird es Zeit, dass ST endlich CubeMX so umstrickt, dass es 
die Projektdateien für "Eclipse/gcc" generieren könnte.

Eigentlich traurig, dass man in der heutigen Zeit noch um 
plattformübergreifende Software betteln muss ...

von graugans (Gast)


Lesenswert?

Das mit der Generierung von Eclipse/GCC geht mir auch auf die Nerven. 
Ich frage mich nur wo die richtige Adresse bei ST wäre um sich da zu 
beschweren. Bei NXP und Freescale gibt es immerhin Eclipse basierte GUIs 
welche unter Linux lauffähig sind.

von Christopher J. (christopher_j23)


Lesenswert?

Chris D. schrieb:
> Eigentlich traurig, dass man in der heutigen Zeit noch um
> plattformübergreifende Software betteln muss ...

Das was mich daran so erschüttert ist, das ST eine Software in Java 
entwickelt und es dann hinbekommt diese nicht plattformunabhängig zu 
machen.

graugans schrieb:
> Das mit der Generierung von Eclipse/GCC geht mir auch auf die Nerven.
> Ich frage mich nur wo die richtige Adresse bei ST wäre um sich da zu
> beschweren. Bei NXP und Freescale gibt es immerhin Eclipse basierte GUIs
> welche unter Linux lauffähig sind.

Im ST Forum hatte ich mal einen Beitrag gelesen in dem nach STM32Cube 
Unterstützung für Linux gefragt wurde. Die Antwort eines Mods war 
sinngemäß "Es gibt doch sämtliche unterstützten Toolchains ohnehin nur 
für Windows, was willst du also mit Linux?"

Echt schade...

von hp-freund (Gast)


Lesenswert?

Ist schon eine Weile her, deshalb habe ich es mit aktuellen Versionen 
noch mal probiert.
Mit java 1.8 funktionert jetzt stm32cubemx 4.7.1 unter ubuntu 64bit.
Zu mindest so weit ich das sehe.

Nur leider wird immernoch kein gcc/eclipse Projekt erzeugt.
Man muss also doch wieder Hand anlegen :-(

von Vincent H. (vinci)


Lesenswert?

Die aktuelle Version 4.10.0 erzeugt bei mir in Mint 64bit nun alles, 
auch die Linkerscripts und Projektfiles. ;)

von hp-freund (Gast)


Lesenswert?

Vincent H. schrieb:
> nun alles

Bitte definiere alles.

Es ist so das das linker script nicht leer ist wenn man SW4STM32 wählt, 
aber es wird kein wirkliches Projekt für SW4STM32 oder gar eclipse 
generiert.
Nach wie vor ist Handarbeit nötig, oder mache ich etwas falsch?

von Vincent H. (vinci)


Lesenswert?

Ah tatsächlich. Pardon.
Das cfg fehlt nach wie vor...

Man kann das "Projekt" zwar munter importieren, aber Settings gibts halt 
keine.

von Vincent H. (vinci)


Lesenswert?

"Available as a standalone software running on Windows®or Linux®, or 
through Eclipse plug-in."

http://www.st.com/web/en/catalog/tools/PF259242


4.13 ist nun entgültig komplett portiert worden. :)

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.