PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wer programmiert unter Linux , wie und was ?



oderlachs
07.02.2017, 11:46
Hallo Freunde !

Ich weiss nicht ob meine Frage einen Forumseintrag wert ist, aber ich möchte sie trotzdem stellen.

Ich bin zur Zeit damit befasst , meine ganze Programmierung auf Linux umzustellen. Gerade unter Linux habe ich erfahren, wie wichtig es ist das System zu kennen.
Viele TuTuts und Beschreibungen aus dem Web laufen nicht, weil man ein anderes System, andere Versionen vom Compiler oder sonst programmierwichtiger Dateien besitzt.

Nun da ich gerade die Programmierung von AVR-Chips mittels Geany und auch mittels Eclipse (unter vielen Misserfolge) glücklich abgeschlossen habe,
stehe ich vor dem Problem bei der STM8/32 Programmierung unter Linux.

Unter Windows nutze ich Keil µVison 4 bzw. 5.22. Mit den Discovery Boards kommt µVision recht gut zurecht. :)
Mit meinem ST-Linkv2 Stick muss ich erst mittels µVision eine Hex erstellen und diese per ST-Studio flashen, weil das ST-Linkv2 nicht erkannt wird. :mad:

Unter Linux ( Mint18 ) habe ich jetzt Eclipse 4.6 "Neon" mit dem ARM Plugin eingerichtet, nur es fehlen wohl noch Pfadangaben/Einstellungen , die ich noch nicht herausgefunden habe , um es einsatzfähig zu machen. :o

Darum möchte ich hier mal nachfragen ob wer auch unter Linux ARM programmiert und schon Erfolge damit verzeichnen kann und wenn ja , auf welcher Weise , mit welchem Programmen...?? :confused:

Mich interessieren auch noch andere Chips zum Programmieren...also wer hat welche Erfahrungen und mit was ? :confused:

Gruss und Danke schon mal für eventuelle Antworten

Gerhard

P.S. : meine Hauptrichtung bei der Programmierung ist C/C++ , bin zwar auch etwas in ASSR bewandert, aber ich möchte in der C-Spur bleiben.:)

shedepe
07.02.2017, 12:46
Hey,
wenn du unter Linux die STM32 programmieren willst, kannst du das mit dem arm-gcc-none-eabe machen. Ich mache das ganze mit cmake (https://github.com/ObKo/stm32-cmake) dann ist die Entwicklung auch IDE unabhänging. Das ist dann wichtig wenn man mit anderen Leuten an einem Projekt arbeiten will. Das flashen klappt unter Linux auch direkt mit dem STLinkV2. (Sogar das Debuggen funktioniert darüber) Siehe: https://github.com/texane/stlink

Allerdings ist die Einrichtung der Toolchain, wie ich selber zugeben muss nicht ganz einfach. Wenn man es aber einmal hingekriegt hat ist es ziemlich mächtig. Vllt. schaffe ich es heute oder morgen noch ein kurzes Beispiel auf Github zu stellen für dich.

Das bauen das Programms mit cmake funktioniert außerdem auch für AVRs und eigentlich alle anderen erdenklichen Controller. Ich habe allerdings nur mit AVRs bzw. eben großem ARM Controllern auf den ein richtiges Linux läuft Erfahrung.

ARetobor
07.02.2017, 12:52
Hallo Oderlachs

schau hier:
http://embedonix.com/articles/linux/setting-up-development-and-programming-for-stm8-on-linux/

Gruß

oderlachs
07.02.2017, 13:33
Hallo,
ich danke Euch beiden erst mal ganz herzlich. !!!!

ARetobor, Dir besonders für den sehr nützlichen Link. Dort ist auch gut erklärt wie man mit Ports deren Direktion usw. umgeht. Ich habe bislang von den mit µVision gelieferten Beispielen gearbeitet und die waren nicht gerade sehr "Selbsterklärend", zumal ich noch bei STM in den Kinderschuhen stecke.
Shedepe, die von Dir aufgezeigten Anwendungen werde natürlich ich probieren.

Schön wäre es natürlich wenn ich ARM-Eclipse verwenden könnte , dann müssen meine kranken Finger nicht noch Konsolen - Kommandos schreiben, mir reicht da schon der SourceText ;)

Ich sehe aber , das auch andere sich auf Linux-Ebene in Sachen Programmierung bewegen. So kann man doch mal diese oder jene Frage hier stellen :)

Gruss & Dank

Gerhard

forivinx
07.02.2017, 17:33
Nur so als Tipp: Schau dir mal Docker an.

Es ist z.B. der reinste Horror die Toolchain für die ESP Module (ESP8266, ESP32 etc) zum Laufen zu bringen. Man braucht gefühlt mehrere 100 Tools diverse davon unbedingt in einer bestimmten Version etc.
Wenn man dann auch noch eine bestimmte GCC version für Projekt A braucht und eine ganz andere für Projekt B, dann wird es wirklich zum Alptraum...

Aber mit Docker ist das ganze Problem ziemlich einfach zu lösen. Mit Docker kannst du deine Toolchain einfach abgekapselt vom System installieren und laufen lassen; in einem sogannenten Container. Das kann man sich in etwa wie eine VM vorstellen, nur 10000 mal effizienter. Und wenn es einmal funktioniert, kann man es nicht mehr kaputt machen.

Das schöne ist auch, dass man seinen Container in From eines kleinen Scriptes (Dockerfile) an andere weitergeben kann.
Und da Docker mittlerweile so unglaublich populär geworden ist, findet man eigentlich für fast alles ein Dockerfile.

Eins sollte man jeodch vielleicht noch sagen. Ich glaube Docker ist nur für Konsolenanwendungen ausgelegt. Aber das ist ja nicht schlimm. Die Compiler sind ja eigentlich immer Konsolenanwendungen.

HaWe
07.02.2017, 18:34
hallo,
ich kenne nun leider nicht den STM, ich nutze den Raspi 2B mit Jessie -
ist der STM leistungsmäßig etwa vergleichbar?
Dann würde ich ihn onboard programmieren, gcc/gpp ist ja schon bei Linux mit drauf, einfach HDMI screen und keyboard + Maus dran und schon kann es los gehen!
Entweder brutal umständlich per Kommandozeile oder make/makefile oder cmake, oder viel einfacher per Geany (ist bei Jessie auch schon drauf).
Wenn es dein STM unterstützt, würde ich es so machen....!
Für mich war der Umstieg von Arduino extrem schwierig, aber ich habe mir eine einfache Umgebung mit Tools und Libs zusammengestellt, damit funktioniert es sehr gut.
Ich will nicht sagen: perfekt und einfach wie bei Arduino, aber es geht voran, schrittchenweise.
Hier habe ich meine Gehversuche protokolliert:
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689

shedepe
07.02.2017, 18:58
Der STM wird ohne Linux betrieben. Sonst wäre das ja auch zu einfach ;).

HaWe
07.02.2017, 19:07
wieso,der Titel heißt doch
"Wer programmiert unter Linux , wie und was ?"
Der Raspi läuft unter Linux, der STM etwa nicht?
Wie ist die Frage im Topic dann zu verstehen?

oderlachs
07.02.2017, 19:57
Herzlichen Dank für alle Eure Antworten !!

HaWe : Ja es ging mir auch darum, wer unter Linux generell programmiert und was er da programmiert. Ich will die Windowsschiene zum Programmieren und vielem anderen verlassen...da ist man froh wenn man Gleisgesinnte findet und weiss.;)
Gut derRaspi, die Banane und sonstige haben mitunter Linux als OS. Beim STM geht es aber darum, Sterungen, Überwachungen zu erstellen wo nur eben ein Programm arbeitet (Ähnlich ATmega o.ä.) ohne ein OS im µC zu bedürfen....

Ich habe es auch schon vollbracht jetzt STM32 Anwendungen kleinerer Art auf/unter ARM-Eclipse zu erstellen, urplötzlich liess sich der Quellcode compilieren. Nur eben das Flashen via ST-Link klappt noch nicht aus Eclipse herraus. Habe gerade das ST32Flash Tool installiert, muss ich sehen wie ich da die Befehlszeile in Eclipse einbauen kann unter Einstellungen...

Wsk8
07.02.2017, 22:26
http://www.openstm32.org/HomePage

Das ist die offizielle, platformunabhängige IDE für STM32.

mfg

oderlachs
08.02.2017, 10:22
Danke Wsk8 !
Die Seite war mir selbst schon bekannt, nur bin ich in English ziemlich schwach auf der Brust, in unseren Schulen war leider Russisch Pflicht !
Darum wollte ich mich hier im Forum, gern in meiner Muttersprache darüber austauschen.

Gruss Gerhard

ARetobor
08.02.2017, 11:19
Hallo Oderlachs,
benutze doch den Google Übersetzer. Einfach die Seite in das Suchfenster von Google
http://www.openstm32.org/HomePage
eingeben, und übersetzen lassen.
Geht schon recht gut.

Grüsse

oberallgeier
08.02.2017, 12:11
.. benutze doch den Google Übersetzer. Einfach die Seite in das Suchfenster von Google http://www.openstm32.org/HomePage
eingeben, und übersetzen lassen ..

Hei, roboteRA, ich bin total überrascht. Ich hatte Deine Anweisung genau befolgt - und hab nun eine relativ gut verständliche Site im originalen Look vor mir. Lediglich ein kleines Flyout ist da :
......(Diese Seite wurde nicht über ihren ursprünglichen Pfad über eine sichere Verbindung abgerufen.Schließen). Wieder mal was (dazu-)gelernt.

Rabenauge
09.02.2017, 10:21
Ich programmiere auch unter Linux- allerdings bisher nur Arduinos.
Aktuell mit der IDE 1.8- unter Ubuntu Studio 14.
Völlig problemlos.