Forum: PC-Programmierung Mikrocontroller-Programmierung unter Linux noch möglich?


von Max M. (maxmicr)


Lesenswert?

Ich überlege mir zur Zeit, von Windows komplett auf Linux zu wechseln. 
Da ich keine Games zocke fällt das schon mal weg.

Software, die ich konkret für die Mikrocontroller-Entwicklung verwende, 
sind folgende:

- Altium Designer 19
- Microchip MPLAB X IDE (Microchip µC)
- Atmel Studio (Atmel µC) mit Atmel ICE
- STM32 mit GCC (dürfte wohl noch am ehesten laufen)

Hat jemand konkrete Erfahrungen damit, diese Programme auf Linux 
lauffähig zu bekommen bzw. kann allgemein Tipps geben, ob es bei diesen 
Anforderungen überhaupt sinnvoll ist bzw. welche Alternativen es gibt?

von abcabc (Gast)


Lesenswert?

Also Altium wirbt mit Linux unterstützung:
https://www.altium.com/de/solution/linux-pcb-design-software

Statt Atmel Studio: CMake oder Makefile mit avr-gcc und einer beliebigen 
Linux fähigen IDE. Atmel Studio selber: Keine Chance da Visual Studio 
basiert.

STM32: Kein Problem z.B. Makefile, arm-gcc-none-eabi und dann beliebiger 
IDE

Microchip - Keine Ahnung

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max M. schrieb:

> - Altium Designer 19

Nur in einer VM.

Bei mir hat sich allerdings die Demo von AD19 in VMware zickig gehabt 
und mir irgendwas erzählt, dass ihr die DirectX-Version nicht gefallen 
würde, obwohl sie laut Microsoft-Tools zwei Nummern größer als die 
gewünschte war. Altium hat sich in Schweigen gehüllt. :/

AD16 läuft dagegen in gleicher Umgebung klaglos und zumindest schnell 
genug für mich.

> - Microchip MPLAB X IDE (Microchip µC)

Keine Ahnung. Habe mal gehört, dass sie auch eine Linuxversion hätten, 
musst du mal recherchieren.

> - Atmel Studio (Atmel µC) mit Atmel ICE

Auch nur in VM. Benutze ich hier nur, um ggf. einen Firmwareupgrade 
eines Atmel-ICE zu machen, oder um mal ein ASF-Beispiel 
zusammenzuschustern und mir dann den Code anzusehen.

> - STM32 mit GCC (dürfte wohl noch am ehesten laufen)

GCC an sich läuft üblicherweise auf !Windows drastisch schneller als auf 
Windows. Keine Ahnung warum, aber ist eine Beobachtung, die nicht nur 
ich gemacht habe.

Allerdings ist es insgesamt sinnvoll, wenn du dich ggf. nach 
Alternativen IDEs umsiehst. Viele nehmen Eclipse als IDE, selbst Visual 
Studio soll es wohl mittlerweile als Linux-Version geben. Debuggen im 
ARM-Cortex-M-Umfeld geht mit GDB + OpenOCD, da kannst du x-beliebige 
billigste FT2232-basierte Bitbanger dafür nehmen *). Diese Lösung ist so 
genial einfach, dass wir sie mittlerweile in der Firma gleich auf unsere 
Demo-Boards als Onboard-Debugger integriert haben. Das spart die 
fummelige Kabelage.

*) Aber natürlich genauso gut auch AtmelICE oder ST-Link.

: Bearbeitet durch Moderator
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

abcabc schrieb:
> Also Altium wirbt mit Linux unterstützung:
> https://www.altium.com/de/solution/linux-pcb-design-software

"Cloudbasierte PCB-Design-Software"

AD gibt es meines Wissens nach wie vor nur für Windows.

von Volker S. (vloki)


Lesenswert?

abcabc schrieb:
> Microchip - Keine Ahnung

Das X in MPLAB-X soll für Cross-Plattform stehen.
("Gefühlt" läuft es auf Linux besser)

von Max M. (maxmicr)


Lesenswert?

abcabc schrieb:
> Also Altium wirbt mit Linux unterstützung:

Genau genommen geht es da um ein extra Browserprogramm "Upverter", nicht 
um Altium Designer selbst.

Anscheinend gibt es jetzt eine neue IDE von STM die auch linuxkompatibel 
ist: https://www.st.com/en/development-tools/stm32cubeide.html

abcabc schrieb:
> Statt Atmel Studio: CMake oder Makefile mit avr-gcc und einer beliebigen
> Linux fähigen IDE. Atmel Studio selber: Keine Chance da Visual Studio
> basiert.

Hört sich für mich so an, als das es nicht so komfortabel gehen wird wie 
das aktuell unter Windows der Fall ist.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max M. schrieb:
> Hört sich für mich so an, als das es nicht so komfortabel gehen wird

"make" oder "CMake" sind nur die Backends, um die Compilierung zu 
organisieren.

Was du da als Frontend (IDE) dranhängst, ist rein deine Sache. Wie 
geschrieben, für Eclipse gibt es da einiges, und wenn du PlatformIO als 
Build-System benutzt, soll die Visual-Studio-Integration gut sein.

Wenn es dein Anspruch ist, alles genau so wie unter Windows zu haben: 
bleib bei Windows. Ansonsten wirst du beim ersten, was nicht 1:1 genau 
so (gut oder schlecht) klappt, sauer sein.

von Max M. (maxmicr)


Lesenswert?

@Jörg

Kann ich aus deinen Kommentaren schlussfolgern, dass du aktiv mit z.B. 
Altium unter Linux (bzw. in Form einer VM unter Linux) produktiv 
arbeitest?

von zitter_ned_aso (Gast)


Lesenswert?

Max M. schrieb:
> Hat jemand konkrete Erfahrungen damit, diese Programme auf Linux
> lauffähig zu bekommen

Verstehe ich nicht wozu.

Man hat ein komplettes Entwicklungssystem (einige Sachen kosten sogar 
richtig Geld). Alles läuft.

Und jetzt will man das gleiche unter Linux haben.

Installiere Linux doch parallel und nutze beide Systeme.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max M. schrieb:

> Kann ich aus deinen Kommentaren schlussfolgern, dass du aktiv mit z.B.
> Altium unter Linux (bzw. in Form einer VM unter Linux) produktiv
> arbeitest?

So ist es, allerdings AD16, also vor den aktuellen (AD19) 
Grafikänderungen.

Es gibt aber hier auch einen Thread, bei denen Leute es mit AD19 in 
einer VM problemlos geschafft haben. Keine Ahnung, was bei mir 
tatsächlich das Problem war. Allerdings will Altium mir ja was 
verkaufen, wenn sie sich also nicht um die Probleme kümmern wollen und 
man sie noch dazu regelrecht für eine Testversion betteln muss, habe ich 
keine Lust, dem hinterher zu rennen. AD16 tut alles, was wir hier in 
dieser Hinsicht brauchen; PCB-Design läuft bei uns eher am Rande und 
ohne allzu hohe Ansprüche. Brauch' ich meinen Chef halt nicht davon zu 
überzeugen, dass wir Geld für einen Upgrade investieren.

: Bearbeitet durch Moderator
von Duffy Duck (Gast)


Lesenswert?

>Verstehe ich nicht wozu.

DASS habe ich auch noch nicht begriffen -
was für Kopfstände man machen muss, damit es unter Linux geht und immer 
geht irgendwas genau bei einem selbst nicht, was bei anderen geht, weil 
sich die Buildnummer bei der 12,5ten Stelle unterscheidet.

von Sebastian S. (amateur)


Lesenswert?

Der gcc sollte die meisten µC unterstützen.

Entwicklungsumgebungen gibt es auch wie Sand am Meer.

Wenn Du nicht gerade den gestern herausgekommenen, neuesten µC behandeln 
willst und es nicht stört, dass die Bildchen nicht ganz so hübsch sind 
wie unter Fenster, so sollte es keine Probleme geben.

Was ich aber nicht weis ist, wie es mit der Unterstützung, der neuesten 
HW-Debugger, aussieht.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Sebastian S. schrieb:
> Was ich aber nicht weis ist, wie es mit der Unterstützung, der neuesten
> HW-Debugger, aussieht.

Das ist mit Cortex-M kein Thema mehr.

Erstens hatte Segger, wenn man das nehmen will, schon viele Jahre lang 
Linux-Support.

Zweitens, wie oben geschrieben, Cortex-M hat definierte 
Debugschnittstellen, gegen solch proprietäre Fisemadenzchen wie bei AVR 
hat man hier nicht zu kämpfen. Damit kann man ziemlich beliebige 
Debug-Adapter benutzen. Wenn man will, kann man unter OpenOCD auch mit 
einem AtmelICE einen STM32 oder mit einem STlink einen SAM debuggen. ;-)

von Max M. (maxmicr)


Lesenswert?

Jörg W. schrieb:
> Keine Ahnung, was bei mir
> tatsächlich das Problem war.

Hast du mit WINE Erfahrungen gemacht?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max M. schrieb:
> Jörg W. schrieb:
>> Keine Ahnung, was bei mir
>> tatsächlich das Problem war.
>
> Hast du mit WINE Erfahrungen gemacht?

Altium Designer unter Wine? Wenn es schon unter VMware nicht läuft (wo 
sonst so ziemlich alles funktioniert)? Kleine Korrektur: auch AD19 ließ 
sich natürlich im VMware-Windows installieren und starten, nur beim 
Aufruf des PCB-Editors maulte er über eine nicht unterstützte 
DirectX-Version, und die PCB-Fläche wurde einfach nicht aktualisiert.

Wine ist sicher nicht schlecht, vieles geht damit, aber so ein komplexes 
Gebilde wie AD würde ich nicht versuchen, damit zu erledigen.

von Olaf (Gast)


Angehängte Dateien:

Lesenswert?

> Erstens hatte Segger, wenn man das nehmen will, schon viele Jahre lang
> Linux-Support.

Yep. Der j-Link funktioniert vollkommen problemlos.
Der Anhang zeigt z.b einen Screenshoot eines kleines Programmes das ich
mal geschrieben habe um mit dem j-Link aus einem laufenden Programm
Variableninhalte auszugeben.


> Der gcc sollte die meisten µC unterstützen.

Die wenigen Teile fuer die es kein gcc gibt oder er sich nicht anpassen 
laesst wuerden die meisten hier vor Angst etwas anderes machen zu 
muessen als der Rest des Internet, sowieso niemals anpacken. Ich kann 
hier z.B problemlos Sachen fuer einen steinalten Hitachi H8 uebersetzen 
oder auch noch Programme fuer den Palmpiloten.

Ich will nicht sagen des es noch NIEMALS nie ein Problem gab, aber die 
waren bisher immer loesbar. Linux ist sicherlich nicht perfekt und ich 
wuerde sogar sagen das es es sich in den letzen 10Jahren eher negativ 
Richtung Windows/Idiotensicherheit entwickelt, aber Embedded Entwicklung 
ist jedenfalls kein Problem.

Olaf

von Thomas K. (rlyeh_drifter) Benutzerseite


Lesenswert?

Nachdem atollic von ST.com aufgekauft wurde, steht mit STM Studio und 
CubeMX eigentlich eine ganz fähige IDE für Linux, JLink oder ST-link 
laufen auch.

von Alex C. (bulettenbronko)


Lesenswert?

Max M. schrieb:
> - Microchip MPLAB X IDE (Microchip µC)

Habe ich auf Xubuntu im Einsatz. Mit dem AVR- & ARM-Toolchain aus den 
Ubuntu-Paketquellen habe ich MPLAB nicht ins Rennen bekommen,aber damit 
funktionierts:

https://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-c-compilers

> - STM32 mit GCC (dürfte wohl noch am ehesten laufen)

Diese µC's verwende ich nicht, habe aber mal eine Test-Umgebung (zwecks 
Eval genannter µC's) mit Eclipse ausprobiert. Ging eigentlich ohne 
Probleme. Ansonsten verwende ich Eclipse zur Erstellung von PC-Software.

von neuer PIC Freund (Gast)


Lesenswert?

> - Microchip MPLAB X IDE (Microchip µC)

Seit MPLABX recht gut läuft, und auch die AVR unterstützt, muss ich Win 
(wegen Atmel Studio) kaum noch starten. Recht freundlich ist auch dessen 
Build-system. Durch gnu-make ist man nicht auf die IDE angewiesen. Mit 
einem Editor deiner Wahl und in der Konsole ein "make" tuen es auch 
(natürlich nachdem ein Projekt erstellt ist).

Für andere Cortexe gibt es auch noch das Segger Embedded Studio. Läuft 
bei mir unter Linux ebenfalls recht gut. Oder TI CodeComposerStudio. 
Natürlich alles neben dem omnipotenten Eclipse.

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.