Embedded Linux

Gast #5101100
Lesenswert?

Ich habe mir ein Buch zu embedded linux gekauft, in dem unter anderem 
Ubuntu installiert wird. Ich dachte aber, dass Distributionen für 
embedded Systeme, also embedded linux, lediglich auf das nötigste 
beschränkt ist. Demnach auch kein user oder Anwendungen vorhanden sind. 
Wenn das stimmt, ist der Titel embedded linux irreführend.
Gast #5101114
Lesenswert?

Ubuntu Mint oder GNU Debian.

Und ich gerade bei dem Thema bin. Was eine Toolchain ist, weiss ich. Den 
Begriff höre ich aber immer nur bezogen auf Linux.Gibt es unter Windows 
in Visual Studio auch die Möglichkeit toolchains auszuwählen und wenn ja 
welche? Unter Linux in eclipse lassen sich mehrere auswählen,aber woher 
weiss ich, welche ich wählen soll und welche installiert ist?
Gast #5101134
Lesenswert?

Jens schrieb:
> Ich dachte aber, dass Distributionen für
> embedded Systeme, also embedded linux, lediglich auf das nötigste
> beschränkt ist.
Embedded Systeme werden auch immer größer.
Das starke Zusammenschnüren ist schon länger nicht mehr so wichtig. EMMC 
geht glaube ich ab 4GB los. Das war zu NAND Flash Zeiten utopisch.

Jens schrieb:
> Ubuntu Mint oder GNU Debian.
Da fehlt ein Komma, oder?

Jens schrieb:
> Ich habe mir ein Buch zu embedded linux gekauft
Sei so gütig und verrate mal den Namen vom Buch.
Persönliche Seite #5101135
Lesenswert?

Jens schrieb:
> Gibt es unter Windows in Visual Studio auch die Möglichkeit toolchains
> auszuwählen und wenn ja welche?

Es gibt zumindest die Möglichkeit, gcc in verschiedenen Varianten zu 
integrieren, um die IDE für embedded development zu nutzen, sowohl "bare 
metal", d.h. ohne Betriebssystem, als auch mit Linux als Zielsystem.

Das kommerzielle Produkt VisualGDB nimmt eine derartige Integration vor 
(insbesondere, daher auch der Name, inklusive des Debug-Backends GDB).

Welcher Aufriss nötig ist, um für das reine "cross-compiling" eine 
gcc-Variante zu integrieren, entzieht sich meiner Kenntnis, aber 
möglicherweise gibt es so etwas sogar von MS selbst; die sind ja seit 
einiger Zeit auch dabei, im Pinguinwasser zu fischen.
Gast #5101150
Lesenswert?

Mir ging es nur darüber, dass ich für C oder C++ Programmierung bisher 
unter Windows mit eclipse oder Visual Studio gearbeitet habe und ich 
erst bei Linux und eclipse das erste mal auf den Begriff Toolchain 
stoße. Dass es da mehrere auszuwählen gibt, verwirrt mich. Habe bisher 
nichts mit dem Thema zutun gehabt und auch nie Einstellungen vornehmen 
müssen.

Das Buch ist von mittp Verlag und heisst embedded linux.
#5101176
Lesenswert?

Jens schrieb:
> Ich dachte aber, dass Distributionen für
> embedded Systeme, also embedded linux, lediglich auf das nötigste
> beschränkt ist. Demnach auch kein user oder Anwendungen vorhanden sind.

Da hast du dich verdacht ;) Kann man machen, aber das schöne an einem 
embedded Linux ist gerade, dass man den ganzen Kram, der einem das 
Entwickeln, Debuggen, Testen, Stressen von Anwendungen auf einem PC 
leicht macht, auch auf dem Embedded System haben und identisch benutzen 
kann...
Gast #5101492
Lesenswert?

Embedded-Linux-Toolchains unter Windows und mit Visual Studio zu nutzen 
ist ein Krampf.

Sysprogs hat die Marktlücke erkannt und erspart dir eine Menge 
Kopfschmerz.

Ich schließe mich meinen Vorpostern an und bin sicher , das Ubuntu nur 
erwähnt wird weil man auf diesem BS einfacher neue Toolchains erstellen 
und (z.B. in einer IDE) nutzen kann. Ich kann mir nicht vorstellen wie 
man buildroot , crosstool-ng oder Yocto unter Windows einrichten will 
ohne sich eine Migräne zu holen (auch Cygwin genannt).

Wer Windows 10 hat , darf gerne mal das Linux subsystem ausprobieren und 
berichten. Meines Wissens wurde es ja extra entwickelt um solche 
Szenarien zu erleichtern. Bash on Windows /ist ja Ubuntu , soweit ich 
weiß.
Gast #5101710
Lesenswert?

Mir ist noch nicht klar, worum es hier geht.

Geht es darum,

a) Linux auf ein Embedded System (also µC) zu installieren,

oder

b) Programme für ein solches Linux unter Windows zu erstellen?

Oder geht es darum,

c) ein normales Linux auf einem PC zu instalieren, weil man dort die 
Toolchains für Mikrocontroller (vielleicht) leichter benutzen kann?
Gast #5101887
Lesenswert?

Mal eine andere Frage. Was sind eigentlich File Descriptoren? Nummern, 
die zur Idenfikation von Dateien übergeben werden. Aber was genau 
bedeutet das z.B., wenn ich eine Funktion wie "timerfd" nutze, die mir 
eine Meldung über eine File Descriptor sendet. Was hat das mit einer 
Datei an sich zutun?
#5101926
Lesenswert?

Jens schrieb:
> Was hat das mit einer Datei an sich zutun?

Ist doch ganz einfach. Unter Windows ist (fast) jedes OS-Objekt ein 
verkapptes Fenster, auch wenn es gar nicht sichtbar ist. Unter Unix ist 
(fast) jedes OS-Objekt eine verkappte Datei, auch wenn sie gar nicht im 
Filesystem auftaucht ;)

Filedeskriptoren sind einfach eine bequeme Methode, ein Objekt in einem 
Prozess eindeutig zu identifizieren und damit mit dem Kernel zu reden. 
Insbesondere weil es viele File-OPs gibt (read, write, fcntl, ioctl, 
poll, select), die genausogut auf Nicht-Dateien gehen. Warum eine neue 
API einführen, wenn es schon eine gibt...
Gast #5101948
Lesenswert?

Mir ging es nur um das Verständnis, was mit embedded linux gemeint ist.

Zu den file deskriptoren: ich verstehe das einerseits. Andererseits ist 
das alles auch verwirrend. Begriffe wie Prozesse oder Kernel kannte ich 
zwar, aber sie werden oft auch kompliziert erklärt und oft erschließt 
sich nicht ganz, was damit gemeint ist uns wir das zusammenhängt.
#5101998
Lesenswert?

Naja, auch die Informatik hat inzwischen mehr als 70 Jahre hinter sich. 
Da hat sich (entgegen der weit verbreiteten Annahme, dass das eh nur so 
eine magere Hilfswissenschaft ist...), durchaus einiges an theoretischen 
und praktischen Erkenntnissen angesammelt, die man nicht mal so durch 3 
Stunden googlen oder ein Buch verstehen wird...

Das mit den Büchern ist aber generell schonmal gut. Lies mehr davon, 
insbesondere Lehrbücher (auch ältere).
#5102015
Lesenswert?

Ernst schrieb:
> Wer Windows 10 hat , darf gerne mal das Linux subsystem ausprobieren und
> berichten. Meines Wissens wurde es ja extra entwickelt um solche
> Szenarien zu erleichtern.

Habe mal probiert, ein Buildroot auf dem Linux Subsystem for Windows zu 
bauen. Schlug leider fehl. Ich vermute mal wegen Groß-/Kleinschreibung, 
was dort ja - wie in Windows - nicht unterschieden wird.

Jens schrieb:
> Mir ging es nur um das Verständnis, was mit embedded linux gemeint ist.

Ein Embedded Linux wird nicht - wie auf einem normalen PC - von einem 
Installationsmedium gebootet und dann installiert sondern auf einem 
Entwicklungsrechner (Host) für dein Device (Target) erstellt. D.h. du 
konfigurierst es auf deinem Rechner, machst anschließend ein "make" und 
bekommst ein Image raus, das du auf dein Device aufspielen kannst.
Soll etwas geändert werden, hockst du dich wieder von deinen Rechner, 
fügst irgendein Paket hinzu, kompilierst es neu, spielst es wieder neu 
aufs Device auf, etc...
So ist das jedenfalls, wenn du Embedded Linux Distributionen, wie Yocto 
oder Buildroot verwendest.
Ubuntu gibts ebenfalls als "Ubuntu Core" für Embedded-Anwendungen. Hier 
können Pakete im Snap-Foramt auf dem Device einzeln installiert und 
entfernt werden.
Die Grenzen zwischen embedded und "normalem" Linux sind fließend, da ja 
auch die Einsatzfelder fließend sind.
Debian wird ebenfalls oft für Embedded-Anwendungen benutzt. Aber auch 
hier wird meist zuerst auf einem x86-Rechner das Image erstellt, bevor 
es anschließend aufs Device übertragen wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren