Forum: Mikrocontroller und Digitale Elektronik STM32 unter Arch Linux


von Felix L. (flex)


Lesenswert?

Hallo,

aus diversen Gründen, möchte ich auf Arch Linux umsteigen. Es gibt aber 
nur noch ein Grund der mich daran hindert, die Programmierung von STM32 
µC´s. Ich habe schon einige Beiträge dazu gefunden, aber wirklich schlau 
bin ich daraus nicht geworden.
Mich würde interessieren ob hier jemand unter Arch Linux programmiert 
und seine Erfahrungen teilt.

Gruß
Felix

von René K. (cyprius)


Lesenswert?

Wo ist der Unterschied zu anderen Distributionen? Du brauchst die 
Toolchain (arm-none-eabi-gcc), eine IDE (z.B. Eclipse mit dem ARM 
Plugin) und schon kannst du loslegen. Je nach Programmer noch OpenOCD 
oder etwas plattformspezifisches, z.B. die Segger-Pakete.

Wenn du aber daran schon scheiterst, solltest du Archlinux doch nochmal 
überdenken - da fällt generell schon etwas mehr "Handarbeit" an, als bei 
z.B. Debian-basierenden Distributionen.

von Segger user (Gast)


Lesenswert?

Segger JLink EDU funktioniert problemlos unter Manjaro zumindest...

von Felix L. (flex)


Lesenswert?

René K. schrieb:
> Wenn du aber daran schon scheiterst, solltest du Archlinux doch nochmal
> überdenken - da fällt generell schon etwas mehr "Handarbeit" an, als bei
> z.B. Debian-basierenden Distributionen.

Arch Linux habe ich schon aufgesetzt und eingerichtet. Es geht 
eigentlich nur noch um die passende IDE. Aber da du schon alle nötigen 
Programme erwähnt hast, werde ich das ganze erst in einer VM testen.

Gruß

von volksvorg (Gast)


Lesenswert?

Schau mal im Arch AUR vorbei.

von uController (Gast)


Lesenswert?

Wenn du jetzt nicht nicht auf ST festgefahren bist, könnte man auch NXP 
und Freescale in betracht ziehen. Beide bieten auf Eclipse basierende 
IDEs an (auch für Linux), die fertig eingestellt sind.

von Felix L. (flex)


Lesenswert?

uController schrieb:
> Wenn du jetzt nicht nicht auf ST festgefahren bist, könnte man auch NXP
> und Freescale in betracht ziehen. Beide bieten auf Eclipse basierende
> IDEs an (auch für Linux), die fertig eingestellt sind.

Nein, ich bin nicht auf STM32 festgelegt, aber da ich unter Windows Keil 
mit der STM32F0/L0 Lizenz verwende, bieten sich diese super an.
Bei Freescale bin ich mir nicht sicher wie es mit den Kinetis weite 
rgeht nach dem Kauf von NXP.

Gruß
Felix

von René K. (cyprius)


Lesenswert?

uController schrieb:
> Wenn du jetzt nicht nicht auf ST festgefahren bist, könnte man auch NXP
> und Freescale in betracht ziehen. Beide bieten auf Eclipse basierende
> IDEs an (auch für Linux), die fertig eingestellt sind.

Ich kenne die IDEs von Freescale und NXP jetzt nicht, IMHO sind die 
STM32-Templates vom ARM Eclipse-Plugin aber schon ziemlich gut. Konnte 
so ein Noname-Minimal STM32 Board aus China innerhalb von 10 Minuten zum 
Leben erwecken, inkl. Debugging.

von Mitlesender (Gast)


Lesenswert?

René K. (cyprius) schrieb:
>sind die STM32-Templates vom ARM Eclipse-Plugin aber schon ziemlich gut.
Sagen wir mal so:
Eclipse und das ARM Plugin ist brauchbar. Gut ist anders. Kein 
Intellisens wie bei Cocoa oder Visual Studio, kein "Add to" für die 
Projektverwaltung, keine Eigenschaften-Erkennung der Projektdateien 
innerhalb von Eclipse (Linux Schwäche!), keine Kontexthilfe, keine 
Suchen & Ersetzen über das ganze Projekt. Und das ist nur das was mir 
aus fdem Stegreif einfällt. Dafür wird auf der Webseite von Eclipse 
nicht mit Begriffen wie 'amazing', 'collaborative', 'famous' und 'pretty 
cool, too' gespart.

Eclipse + ARM-Plugin? Besser als die Arduino IDE!

von Mitlesender (Gast)


Lesenswert?

Gerade darüber gestolpert: Copy&Paste funktioniert an eigenen Stellen 
nicht. Help -> About -> 'Installation details' zum Beispiel. Willst du 
die Eigenschaften (15-stellige Versionsnummern) im Eclipse Forum posten, 
muß du sie abtippen. Wie in der Steinzeit.

von René K. (cyprius)


Lesenswert?

Mitlesender schrieb:
> Sagen wir mal so:
> Eclipse und das ARM Plugin ist brauchbar. Gut ist anders. Kein
> Intellisens wie bei Cocoa oder Visual Studio, kein "Add to" für die
> Projektverwaltung, keine Eigenschaften-Erkennung der Projektdateien
> innerhalb von Eclipse (Linux Schwäche!), keine Kontexthilfe, keine
> Suchen & Ersetzen über das ganze Projekt. Und das ist nur das was mir
> aus fdem Stegreif einfällt. Dafür wird auf der Webseite von Eclipse
> nicht mit Begriffen wie 'amazing', 'collaborative', 'famous' und 'pretty
> cool, too' gespart.
>
> Eclipse + ARM-Plugin? Besser als die Arduino IDE!

Postest du dein völlig themenfremdes Eclipse-Gebashe eigentlich in jeden 
Thread in dem die IDE erwähnt wird? Es geht hier um eine unter Linux 
lauffähige IDE mit STM32-Unterstützung, und du fängst erstmal mit Visual 
Studio an. Merkst du was?

von Bernd K. (prof7bit)


Lesenswert?

Mitlesender schrieb:
> Gut ist anders. Kein
> Intellisens wie bei Cocoa oder Visual Studio, kein "Add to" für die
> Projektverwaltung, keine Eigenschaften-Erkennung der Projektdateien
> innerhalb von Eclipse (Linux Schwäche!), keine Kontexthilfe, keine
> Suchen & Ersetzen über das ganze Projekt.

Dir wurde doch schon mitgeteilt daß diese Behauptungen alle nicht der 
Wahrheit entsprechen, wer hat Dir diesen Blödsinn erzählt?

von Bernd K. (prof7bit)


Lesenswert?

Felix L. schrieb:
> Es gibt aber
> nur noch ein Grund der mich daran hindert, die Programmierung von STM32
> µC´s.

STM32 und die Discovery- / Nucleo-Boards werden exzellent unter Linux 
unterstützt. Ich hab zwar hier kein Arch sondern Kubuntu aber das sollte 
keinen wesentlichen Unterschied machen. Du brauchst:
1
* Eclipse Luna für C/C++ Entwickler
2
* GNUARM-Plugin von http://gnuarmeclipse.livius.net/blog/ 
3
* OpenOCD (mindestens 0.9.0)
4
* Die arm-none-eabi-gcc Toolchain 
5
  von https://launchpad.net/gcc-arm-embedded

Und dann kannst Du loslegen. Du wirst dich als erstes erstmal in die 
Verwendung von OpenOCD einlesen müssen, insbesondere mit welchen 
Parametern Du es starten musst um das Discovery- oder Nucleo-Board zu 
connecten. Wenn das geschafft ist (ich erwarte da keine Schwierigkeiten) 
kannst Du direkt loslegen in Eclipse.

Wenn Du Dir einen Segger J-Link EDU (50€) zulegst um nackte Controller 
auf eigenen Platinen zu programmieren und zu debuggen dann wirds noch 
einfacher, das ganze Segger-Zeugs unterstützt Linux vollumfänglich und 
die Verwendung in Eclipse ist ein Kinderspiel.

von Felix L. (flex)


Lesenswert?

Danke für die Antworten.

Bernd K. schrieb:
> Wenn Du Dir einen Segger J-Link EDU (50€) zulegst um nackte Controller
> auf eigenen Platinen zu programmieren und zu debuggen dann wirds noch
> einfacher, das ganze Segger-Zeugs unterstützt Linux vollumfänglich und
> die Verwendung in Eclipse ist ein Kinderspiel.

Den JLink EDU habe ich.
Ich werde Arch Linux erst einmal auf einer VM instllieren und schauen ob 
ich damit zurecht komme.

von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

Dann mach doch einfach ein funktionierendes Beispiel draus ;-)

Nein, im Ernst.
Es gibt genug gute Tutorials gerade für die Minimalprojekt-Erstellung. 
Schritt für Schritt durcharbeiten, anders wird das nichts...

von hp-freund (Gast)


Lesenswert?

Ich habe dir doch deines schon passend gemacht. Das ist doch recht 
übersichtlich.

Dann gibt es auch z.B. dieses Tutorial:

http://fun-tech.se/stm32/OlimexBlinky/mini.php

von Jonathan (Gast)


Lesenswert?

Du kannst auch mal die neue ST IDE SW4STM32 ausprobieren. Jedoch scheint 
die linux Version im Beta Status zu sein, aber ein Versuch ist es wert

http://www.openstm32.org/tiki-view_forum_thread.php?comments_parentId=136

http://www.openstm32.org/

von Jonathan W. (anoj_ettiw)


Lesenswert?

Du musst diesen Link einfach verwenden, wenn du Software hinzufügen 
willst (in der ganz normalen Eclipse C++ IDE): 
http://www.ac6-tools.com/Eclipse-updates/org.openstm32.system-workbench.site

Hier der Text aus dem openstm32 Wiki:
1
Installation of System Workbench for STM32 - Bare edition will be done through the standard Eclipse installer.
2
3
You should Start Eclipse then open menu "Help >> Install New Software"; this will open the "Available Software" dialog:
4
5
 
6
7
You must then create a new update site, to be able to install System Workbench for STM32 - Bare Metal Edition:
8
9
    You should click on "Add:" 
10
    Then give a name to the update site (System Workbench for STM32 - Bare Machine edition) and set the location to http://www.openstm32.org/Eclipse-updates/org.openstm32.system-workbench.site
11
    Then click "OK" to create the update site 
12
13
Warning: During the beta phase the address to use is http://www.ac6-tools.com/Eclipse-updates/org.openstm32.system-workbench.site
14
15
Then you should select all of the OpenSTM32 tools and click "Next>"
16
17
 
18
19
You will then just have to accept the license and System Workbench for STM32 - Bare Metal edition will install itself in your Eclipse setup.
20
21
Note that you will probably have to restart Eclipse for the tools to be available; Eclipse will automatically suggest the restart.

: Bearbeitet durch User
von rüdiger (Gast)


Lesenswert?

Im prinzip sind alle benötigten Pakete auch in den Arch Repositories:
arm-none-eabi-gcc, arm-none-eabi-gdb und openocd

von neuer PIC Freund (Gast)


Angehängte Dateien:

Lesenswert?

Schnellschuss: GDB von Linux, IDE von Windows.

1. jlink vom aur.archlinux.org herunterladen (wegen jlink.install). 
Meine PKGBUILD siehe oben. Bauen und installieren.

2. emIDE v.2.20 unter wine installieren.

3. In Linuxkonsole
1
JLinkGDBServer -device stm32f103r8 -if swd
 starten.

4. Unter
1
wine emIDE
 starten (could not find jlink gdb server verneinen)

5. debugger config siehe Bilder

6. enjoy

Schade dass die Opensource-Tools zuerst dahingetrimmt werden, mit einem 
kostenpflichtigen OS zu funktionieren.

von Martin Fischer (Gast)


Lesenswert?

Ich bin auch auf arch und auf St festgesetzt. Ich nutzte emacs als 
editor., die libopencm3 und ne makefile für den Rest. Ich Hase IDE weil 
ich gerne alles minimal habe

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.