Embedded LINUX / Was ist es, wann und wie man es benutzt / Expertentipps

Embedded Linux. Ist es das gleiche wie Linux?

Was ist Linux?

In früheren Beiträgen haben wir bereits eine Einführung in das Embedded Systems Engineering gegeben, einige Beispiele auf dem Markt gegeben und alle möglichen Funktionalitäten aufgelistet. Heute werden wir über das Betriebssystem schlechthin sprechen, das als Entwicklungswerkzeug für diesen Gerätetyp verwendet wird: Linux.

Linux ist der Name für den Kernel und eine Reihe von Unix-Betriebssystemen unter GNU GPL. In vielerlei Hinsicht ähnelt Linux anderen Betriebssystemen wie Windows, macOS (früher OS X) oder iOS. Wie sie kann Linux über eine grafische Oberfläche und die gleichen Arten von Desktop-Software verfügen, an die Sie gewöhnt sind, z. B. Textverarbeitungsprogramme, Bildbearbeitungsprogramme, Videobearbeitungsprogramme usw.

Aber Linux unterscheidet sich auch in vielen wichtigen Punkten. Zuallererst, und vielleicht sein wichtigstes Merkmal, ist es Open-Source-Software. Der zur Erstellung von Linux verwendete Code ist kostenlos und für die Öffentlichkeit zugänglich, um ihn anzuzeigen, zu bearbeiten und – für Benutzer mit Kenntnissen – dazu beizutragen.

Ein weiterer relevanter Unterschied ist, dass Linux, obwohl die Kernstücke des Linux-Betriebssystems im Allgemeinen weit verbreitet sind, viele Linux-Distributionen unterschiedliche Softwareoptionen enthalten. Das bedeutet, dass Linux unglaublich anpassbar ist. Wir können ein sehr leichtes System installieren und alles Notwendige später oder nach Bedarf hinzufügen. Benutzer können auch die Hauptkomponenten auswählen, z. B. das System, das die Grafiken anzeigt, und andere Komponenten der Benutzeroberfläche.

Sie verwenden wahrscheinlich bereits Linux, auch wenn Sie sich dessen nicht bewusst sind, da es in der Software einer großen Anzahl von Geräten vorhanden ist, die wir täglich verwenden. Selbst die meisten der von uns besuchten Internetseiten wurden wahrscheinlich von Linux-Servern generiert. In ähnlicher Weise entscheiden sich die meisten Unternehmen und Einzelpersonen für Linux für ihre Server, da es sicher und flexibel ist und von einer großen Community von Benutzern hervorragend unterstützt wird.

Embedded Linux | Was ist das? Wo es zu benutzen?

Ein eingebettetes System ist ein Satz von Computerhardware und -software, die auf einem Mikrocontroller oder Mikroprozessor basieren, der von einem Echtzeitbetriebssystem oder RTOS mit begrenztem Speicher gesteuert wird und sowohl in der Größe als auch in der Komplexität variieren kann. Embedded Linux ist eine Art Linux-Betriebssystem / Kernel, der für die Installation und Verwendung in eingebetteten Geräten oder Systemen entwickelt wurde.

Obwohl es den gleichen Kernel verwendet, unterscheidet sich Embedded Linux stark vom Standardbetriebssystem. Erstens wird es für eingebettete Systeme zugeschnitten und ist daher viel kleiner, benötigt weniger Rechenleistung und verfügt über minimale Funktionen. Der Linux-Kernel wird als Embedded-Linux-Version modifiziert und optimiert. Eine solche Linux-Instanz kann nur Anwendungen ausführen, die speziell für das Gerät erstellt wurden.

Embedded Linux ist flexibel, kostengünstig, Open Source und wird an spezielle Mikroprozessoren angepasst. Im Vergleich zu proprietären eingebetteten Betriebssystemen ermöglicht Linux mehrere Software-, Entwicklungs- und Supportanbieter; es verfügt über einen stabilen Kernel und bietet die Möglichkeit, Quellcode zu lesen, zu ändern und weiterzuverteilen. Es ermöglicht auch einen hochmodularen Baustein-Ansatz für den Aufbau eines benutzerdefinierten Systems, was zu größerer Flexibilität führt.

Das Yocto-Projekt sticht heraus: Es ist ein Open-Source-Gemeinschaftsprojekt, das es Entwicklern leicht macht, ihre eigenen benutzerdefinierten Linux-Systeme zu erstellen, unabhängig von der Hardware-Architektur. Dieses Tool wird häufig verwendet, um benutzerdefinierte Embedded Linux-Distributionen zu erstellen.

Linx on embedded systems / Common applications

Aus diesen Gründen und dank seiner Vielseitigkeit ist Embedded Linux bei den Ingenieuren eingebetteter Systeme sehr beliebt geworden. Viele Unterhaltungselektronikgeräte wie Telefone, intelligente Tablets, digitale Speichergeräte, persönliche Videorecorder, Kameras, Wearables und viele andere werden normalerweise mit Linux entwickelt. Es wird in Autos Software verwendet, und viele andere Beispiele wie Netzwerkgeräte, Maschinensteuerung, industrielle Automatisierung, Navigationsgeräte, Raumfahrzeugflugsoftware, und medizinische Instrumente im Allgemeinen.

Sogar Microsoft Windows hat Linux-Komponenten als Teil des Windows-Subsystems für Linux oder WSL. Aber vielleicht das beste Beispiel für Embedded Linux ist Android, entwickelt von Google. Wir werden diese letzten beiden Beispiele im gesamten Beitrag ausführlicher sehen.

So entwickeln Sie Embedded Linux unter Windows

Die Einführung von Embedded Linux in Ihr Unternehmen kann mehrere Herausforderungen mit sich bringen. Guides sind sicherlich nützlich, um Erfahrungen in einem guten Tempo zu sammeln, aber was ist mit der Entwicklungsumgebung? Muss es vollständig ersetzt werden, um die Linux-Entwicklung zu unterstützen?

In vielen Fällen wird die Entwicklung von Embedded Linux-Produkten über den Linux-Host selbst durchgeführt. Die PC-Version bietet mehr vorinstallierte Bibliotheken und Dienstprogramme als Embedded Linux-Systeme, wodurch Linux-Entwicklungshosts ideal für die Entwicklung von Embedded Linux-Code sind. Aber was ist mit Ingenieuren, die neu in diesem Betriebssystem sind oder Windows lieber als Entwicklungshost verwenden?

Die bisher am weitesten verbreitete Lösung war die Verwendung virtueller Umgebungen wie VirtualBox oder VMware Player. Auf diese Weise kann der Benutzer weiterhin mit Windows als Hauptbetriebssystem arbeiten und daher in einer bereits vertrauten Umgebung surfen und die virtuelle Maschine mit Ubuntu oder anderen Linux-Distributionen für die Entwicklung eingebetteter Linux-basierter Produkte verwenden.

Darüber hinaus gibt es weitere Optionen für die Entwicklung von Embedded Linux-Code. Die Container-Technologie hat in letzter Zeit großes Interesse geweckt und bietet eine weitere Alternative zum Ausführen einer Linux-Distribution innerhalb des Windows-Betriebssystems.

Was ist Windows Subsystem für Linux (WSL)?

¿ Qué es el Subsistema de Windows para Linux (WSL)? - Tribalyte Technologies

Quelle: Microsoft Docs

Andererseits hat Microsoft mit der Einführung des Windows-Subsystems für Linux (WSL), das in der Windows 10-Version enthalten ist, auch einen Schritt nach vorne gemacht, um die Linux-Entwicklungsumgebung in seinem Betriebssystem zu unterstützen.

Die WSL stellt eine von Microsoft entwickelte Linux-kompatible Kernel-Schnittstelle zur Verfügung, auf der dann ein GNU-Userspace ausgeführt werden kann. Auf diese Weise können Linux-Entwicklungstools problemlos in der nativen Linux-Umgebung basierend auf der WSL installiert werden.

Was bedeutet das für Entwickler? Dies bedeutet, dass diejenigen, die es vorziehen, unter dem Host-Windows-Betriebssystem zu entwickeln, bei der vertrauten Windows-Entwicklungsumgebung bleiben und einfach die Linux-Entwicklungsumgebung auf demselben Host aktivieren können.

Dank dessen wurden integrierte Softwaretools in Windows selbst verwendet, z. B. die Timesys IDE TimeStorm. Dieses Eclipse-basierte Programm bietet Benutzern des Windows 10-Betriebssystems eine vertraute Umgebung, die es einfach macht, eingebettete Linux-Produkte in einer Windows-Umgebung zu entwickeln. Diese Funktion macht es zu einer idealen Lösung für Programmierer, die auf die Entwicklung mikroprozessorbasierter Linux-Geräte umsteigen möchten, da es neben der Unterstützung von Sprachen wie C / C ++ / Python dasselbe Yocto SDK in Linux-Betriebssystemen verwendet und Windows.

Embedded Linux und Android | Wie funktioniert das?

¿ Qué es el Subsistema de Windows para Linux (WSL) ? - Tribalyte Technologies

Das Android-Betriebssystem ist eine Art eingebettetes Linux, das für die Verwendung auf Smartphones angepasst wurde. Im Wesentlichen läuft Android die gleiche Art von Linux-Kernel wie Embedded-Systeme und teilt die gleichen Treiber, Speicherverwaltung und Netzwerkfunktionen. Es enthält aber auch einige Kernel-Modifikationen, die es ideal für mobile Systeme machen. Darüber hinaus enthält es zusätzliche Funktionen aus anderen Open-Source-Projekten.

Google hat Android als mobiles Betriebssystem entwickelt, das mit seinem Ökosystem vom klassischen Linux getrennt ist. Die Benutzeroberfläche wird für Touchscreen-Geräte optimiert. Darüber hinaus verfügt es über eine Reihe von APIs, die eine standardisierte Anwendungsentwicklungsumgebung ermöglichen. Ebenso können Android-Geräte zusätzlich eine Reihe von Google-Diensten wie Google Maps, Fit, Cast oder Awareness nutzen.

Einige könnten denken, dass Android ein brauchbarer Ersatz für Embedded Linux wird, weil es die Softwareentwicklung für Geräte wie Telefone, Tablets oder Fernseher standardisiert. Trotzdem mag Android an Popularität gewinnen, aber es hat noch einen langen Weg vor sich, bis es sich an Embedded Linux gewöhnt hat und – noch weniger wahrscheinlich – es ersetzen wird. Die „klassischen“ Varianten von Embedded Linux dominieren zweifellos als Betriebssystem der Wahl für Embedded-Systementwickler.

Für die meisten eingebetteten Linux-Geräte, die beispielsweise in Industriemaschinen integriert werden und von geringem Stromverbrauch profitieren, sind diese mobilfreundlichen Funktionen in der Regel eine zusätzliche Masse, die ein Entwickler möglicherweise beseitigen muss. Aus diesem Grund ist Android in einem Gerät, das seine Stärken in Bezug auf Benutzeroberfläche und Medien nutzt, am sinnvollsten.

Was sind die Vorteile von Embedded Linux?

Wie wir bereits gesehen haben, ist Embedded Linux eine kompakte Version von Linux, die Funktionen und Dienste bietet, die den Betriebs- und Anwendungsanforderungen des eingebetteten Systems entsprechen. Wie Linux sind seine Hauptvorteile gegenüber anderen integrierten Betriebssystemen unter anderem die Verwendung von Open Source und daher niedrige Kosten, die Existenz mehrerer Software-, Entwicklungs- und Supportanbieter sowie Offenheit in Bezug auf Urheberrechte oder Lizenzen und ein stabiler und robuster Kernel. Darüber hinaus die Möglichkeit, den Quellcode zu lesen, zu ändern und weiterzuverteilen, gepaart mit einem hochmodularen Bausteinansatz zur Entwicklung eines benutzerdefinierten eingebetteten Systems. Dies bietet eine größere Flexibilität bei den Gestaltungsmöglichkeiten.

  • Quellcode öffnen.

  • Niedriger Preis.

  • Mehrere Software-, Entwicklungs- und Supportanbieter.

  • Hochgradig anpassbar.

  • Mehr Flexibilität.

Mögliche Nachteile von Embedded Linux

Zu den möglichen Nachteilen von Embedded Linux gehört die Komplexität. Dank seiner Open-Source und mit mehreren Entwicklungen, Embedded Linux ist reicher an Funktionen als andere Embedded-Entwicklungsumgebungen. Die umfangreiche Codebasis von Linux (sowohl innerhalb Ihres Systems als auch in der Community verfügbar) führt zu einer nahezu endlosen Komplexität.

Darüber hinaus sollten wir berücksichtigen, dass bei der Entwicklung von Lösungen, die an die zu verwendende Plattform angepasst sind, jede Änderung der Hardware die Software direkt beeinflussen kann, was sich in Situationen des Produktersatzes oder sogar in Updates der Software selbst widerspiegelt. Denken Sie andererseits daran, dass die Verwendung von Embedded Linux im Vergleich zu anderen Umgebungen einen vergleichsweise großen Speicherplatz erfordert. Dies betrifft hauptsächlich Geräte mit begrenzten Ressourcen.

Die Summe all dieser Aspekte kann zu einem Anstieg von Geld und Zeit für die Entwicklung neuer Implementierungen führen. Aus diesem Grund ist es äußerst wichtig, sich immer auf erfahrene Entwickler zu verlassen, die den Prozess so weit wie möglich optimieren können.

  • Reacher-Funktionen können zu einer höheren Komplexität führen.

  • Änderungen an der Hardware können sich auf die Software auswirken.

  • Bedarf an größerem Speicherplatz.

Embedded Linux: Embedded-Software-Entwickler finden

Suchen Sie also nach erfahrenen C / C ++ – Entwicklern für die Entwicklung von Software und eingebetteten Systemen unter Linux? Du hast sie gerade gefunden.

SCHAUEN SIE SICH UNSERE EMBEDDED SOFTWARE LÖSUNGEN AN

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht.