Embedded Linux. Is het hetzelfde als Linux?
- Wat is Linux?
- Embedded Linux / Wat is het? Waar te gebruiken?
- Linx on embedded systems / Common applications
- hoe embedded Linux te ontwikkelen op Windows
- Wat is Windows Subsystem for Linux (WSL)?
- Embedded Linux en Android | Hoe werkt het?
- Wat zijn de voordelen van embedded Linux?
- Open source code.
- lage prijs.
- meerdere software -, ontwikkelings-en supportproviders.
- zeer aanpasbaar.
- meer flexibiliteit.
- mogelijke nadelen van embedded Linux
- het hebben van reacher functies kan leiden tot een hogere complexiteit.
- het aanpassen van de hardware kan de software beïnvloeden.
- behoefte aan Grotere geheugenruimte.
- Embedded Linux: find embedded software developers
Wat is Linux?
in eerdere berichten hebben we al een inleiding gegeven over embedded systems engineering met enkele voorbeelden die op de markt zijn en met een opsomming van alle mogelijke functionaliteiten. Vandaag zullen we het hebben over het besturingssysteem bij uitstek dat wordt gebruikt als ontwikkeltool voor dit type apparaat: Linux.
Linux is de naam die gegeven wordt aan de kernel en een reeks Unix besturingssystemen onder GNU GPL. In veel opzichten is Linux vergelijkbaar met andere besturingssystemen zoals Windows, macOS (voorheen OS X), of iOS. Net als zij kan Linux een grafische interface hebben en dezelfde soorten desktop software die je gewend bent, zoals tekstverwerkers, foto-editors, video-editors, enz.
maar Linux verschilt ook op vele belangrijke manieren. Allereerst, en misschien wel de belangrijkste functie, het is open-source software. De code die gebruikt wordt om Linux te maken is gratis en beschikbaar voor het publiek om het te bekijken, te bewerken en – voor gebruikers met kennis – eraan bij te dragen.
een ander relevant verschil is dat Linux, hoewel de kerndelen van het Linux-besturingssysteem over het algemeen wijdverspreid zijn, veel Linux-distributies verschillende softwareopties bevatten. Dat betekent dat Linux ongelooflijk aanpasbaar is. We kunnen een zeer licht systeem installeren en alles wat nodig is later of als we het nodig hebben toevoegen. Gebruikers kunnen ook kiezen voor de belangrijkste componenten, zoals het systeem dat de afbeeldingen weergeeft, en andere componenten van de gebruikersinterface.
u gebruikt waarschijnlijk al Linux, zelfs als u zich er niet van bewust bent omdat het aanwezig is in de software van een groot aantal apparaten die we dagelijks gebruiken. Zelfs de meeste van de internet webpagina ‘ s die we bezoeken zijn waarschijnlijk gegenereerd door Linux servers. Op dezelfde manier kiezen de meeste bedrijven en individuen Linux voor hun servers omdat het veilig, flexibel is en uitstekende ondersteuning kan krijgen van een grote gemeenschap van gebruikers.
Embedded Linux / Wat is het? Waar te gebruiken?
een embedded systeem is een set computer hardware en software gebaseerd op een microcontroller of microprocessor, bestuurd door een realtime besturingssysteem of RTO ‘ s, beperkt geheugen, en dat kan variëren in grootte en complexiteit. Embedded Linux is een type Linux-besturingssysteem / kernel dat is ontworpen om te worden geïnstalleerd en gebruikt in embedded apparaten of systemen.
hoewel het dezelfde kernel gebruikt, verschilt embedded Linux nogal van het standaard Besturingssysteem. Ten eerste, het wordt afgestemd op embedded systemen en is daarom veel kleiner in omvang, vereist minder rekenkracht, en heeft minimale functies. De Linux kernel is aangepast en geoptimaliseerd als een embedded Linux versie. Zo ‘ n Linux instantie kan alleen toepassingen draaien die speciaal voor het apparaat zijn gemaakt.
Embedded Linux is flexibel, goedkoop, open-source, en wordt aangepast aan specifieke microprocessors. In vergelijking met propriëtaire embedded besturingssystemen, Linux staat meerdere software, ontwikkeling, en support leveranciers; het heeft een stabiele kernel en biedt de mogelijkheid om broncode te lezen, te wijzigen en te herdistribueren. Het maakt ook een zeer modulaire bouwsteenbenadering mogelijk voor het bouwen van een systeem op maat, wat leidt tot meer flexibiliteit.
het Yocto-Project valt op: het is een open-source samenwerkingsproject dat het voor ontwikkelaars gemakkelijk maakt om hun eigen aangepaste Linux-systemen te maken, ongeacht de hardware-architectuur. Deze tool wordt veel gebruikt om aangepaste embedded Linux-distributies te maken.
Linx on embedded systems / Common applications
om deze redenen, en dankzij zijn veelzijdigheid, is embedded Linux erg populair geworden onder de embedded systems engineers. Veel consumentenelektronica-apparaten zoals telefoons, smart tablets, digitale Opslagapparaten, persoonlijke videorecorders, camera ‘ s, wearables en vele andere worden meestal ontwikkeld met Linux. Het wordt gebruikt in auto ‘ s software, en vele andere voorbeelden, zoals netwerkapparatuur, machinebesturing, industriële automatisering, navigatie-apparatuur, ruimtevaartuig vlucht software, en medische instrumenten in het algemeen.
zelfs Microsoft Windows heeft Linux-componenten als onderdeel van het Windows-subsysteem voor Linux of WSL. Maar misschien wel het beste voorbeeld van embedded Linux is Android, ontwikkeld door Google. We zullen deze laatste twee voorbeelden in meer detail te zien in de post.
hoe embedded Linux te ontwikkelen op Windows
het introduceren van embedded Linux in uw organisatie kan meerdere uitdagingen betekenen om te overwinnen. Gidsen zijn zeker nuttig om ervaring op te doen in een goed tempo, maar hoe zit het met de ontwikkelomgeving? Moet het volledig worden vervangen om Linux ontwikkeling te ondersteunen?
in veel gevallen wordt embedded Linux productontwikkeling gedaan door de Linux host zelf te gebruiken. De PC-versie biedt meer vooraf geïnstalleerde bibliotheken en hulpprogramma ‘ s dan embedded Linux-systemen, waardoor Linux development hosts ideaal zijn voor het ontwikkelen van embedded Linux-code. Maar hoe zit het met ingenieurs die nieuw zijn voor dit besturingssysteem of die Windows liever gebruiken als ontwikkelaar?
de meest gebruikte oplossing tot nu toe was het gebruik van virtuele omgevingen zoals VirtualBox of VMware Player. Op deze manier mag de gebruiker blijven werken met Windows als het belangrijkste besturingssysteem, en daarom blijven browsen in een reeds bekende omgeving, en gebruik maken van de virtuele machine met Ubuntu of andere Linux-distributies voor de ontwikkeling van embedded Linux-gebaseerde producten.
daarnaast zijn er andere opties voor het ontwikkelen van embedded Linux code. Container technologie heeft onlangs opgedaan veel interesse, het aanbieden van een ander alternatief voor het uitvoeren van een Linux-distributie binnen het Windows-besturingssysteem.
Wat is Windows Subsystem for Linux (WSL)?
Bron: Microsoft Docs
anderzijds heeft Microsoft ook een stap voorwaarts gezet in het ondersteunen van de Linux-ontwikkelomgeving binnen zijn besturingssysteem met de introductie van het Windows-subsysteem voor Linux (WSL), dat werd opgenomen in de Windows 10-versie.
de WSL biedt een Linux-compatibele kernelinterface ontwikkeld door Microsoft, die vervolgens een GNU-gebruikersruimte bovenop kan draaien. Op deze manier kunnen Linux-ontwikkeltools gemakkelijk worden geà nstalleerd in de native Linux-omgeving op basis van de WSL.
wat betekent dit voor ontwikkelaars? Het betekent dat degenen die de voorkeur geven om te ontwikkelen onder de host Windows-besturingssysteem kan blijven met de vertrouwde Windows-ontwikkelomgeving en gewoon de Linux-ontwikkelomgeving op dezelfde host inschakelen.
dankzij dit, geà ntegreerde software tools kwamen uit om te worden gebruikt in Windows zelf, zoals de Timesys IDE TimeStorm. Dit Eclipse-gebaseerde programma biedt gebruikers van het Windows 10-besturingssysteem met een vertrouwde omgeving, waardoor het gemakkelijk is om embedded Linux-producten te ontwikkelen binnen een Windows-omgeving. Deze functie maakt het een ideale oplossing voor programmeurs die willen migreren naar de ontwikkeling van microprocessor-gebaseerde Linux-apparaten, omdat, afgezien van het ondersteunen van talen zoals C/C++/Python, het maakt gebruik van dezelfde Yocto SDK in Linux-besturingssystemen en Windows.
Embedded Linux en Android | Hoe werkt het?
het Android-besturingssysteem is een type embedded Linux, aangepast om te worden gebruikt op smartphones. In essentie draait Android hetzelfde type Linux kernel als embedded systemen en deelt dezelfde drivers, geheugenbeheer en netwerkmogelijkheden. Maar het bevat ook een aantal kernel wijzigingen die het ideaal maken voor mobiele systemen. Bovendien, het komt geladen met extra functies uit andere open-source projecten.
Google bouwde Android als een mobiel besturingssysteem dat wordt geleverd met zijn ecosysteem, los van de klassieke Linux. De gebruikersinterface wordt geoptimaliseerd voor touch-screen apparaten. Bovendien wordt het geleverd met een reeks API ‘ s die een meer gestandaardiseerde applicatieontwikkelingsomgeving mogelijk maken. Ook Android-apparaten kunnen bovendien profiteren van een reeks van Google-diensten, zoals Google Maps, Fit, Cast, of Awareness, onder anderen.
sommigen zouden kunnen denken dat Android een levensvatbare vervanging wordt voor embedded Linux omdat het softwareontwikkeling standaardiseert voor apparaten zoals telefoons, tablets of televisies. Zelfs zo, Android kan aan populariteit winnen, maar het heeft nog een lange weg te gaan voordat je gewend aan dezelfde mate als embedded Linux en – nog minder waarschijnlijk – om het te vervangen. De” klassieke ” varianten van embedded Linux domineren ongetwijfeld als het besturingssysteem bij uitstek voor embedded systeemontwikkelaars.
voor de meeste embedded Linux-apparaten, die bijvoorbeeld worden geïntegreerd in industriële machines, en die gedijen op een laag stroomverbruik, zijn deze mobiele-vriendelijke functies meestal een extra bulk die een ontwikkelaar nodig kan hebben om te elimineren. Dat is de reden waarom Android is het meest zinvol in een apparaat dat gebruik maakt van zijn sterke punten in termen van gebruikersinterface en media.
Wat zijn de voordelen van embedded Linux?
zoals we al hebben gezien, is embedded Linux een compacte versie van Linux die functies en services biedt die voldoen aan de vereisten van het embedded systeem. Net als Linux zijn de belangrijkste voordelen ten opzichte van andere geà ntegreerde besturingssystemen – onder andere – het gebruik van open source en dus lage kosten, het bestaan van meerdere software -, ontwikkelings-en supportproviders, en openheid in termen van copyright of licenties en een stabiele en robuuste kernel. Daarnaast is de mogelijkheid om de broncode te lezen, te wijzigen en te herverdelen, in combinatie met een zeer modulaire bouwsteenbenadering voor het ontwikkelen van een op maat gemaakt embedded systeem. Dit zorgt voor meer flexibiliteit in de ontwerpmogelijkheden.
-
Open source code.
-
lage prijs.
-
meerdere software -, ontwikkelings-en supportproviders.
-
zeer aanpasbaar.
-
meer flexibiliteit.
mogelijke nadelen van embedded Linux
onder de mogelijke nadelen van embedded Linux is de complexiteit vermeldenswaard. Dankzij het feit dat het open-source is en meerdere ontwikkelingen heeft, is embedded Linux rijker aan functies dan andere embedded ontwikkelomgevingen. Linux ‘ s uitgebreide codebase (zowel binnen uw systeem als beschikbaar in de gemeenschap) resulteert in bijna eindeloze complexiteit.
bovendien moeten we er rekening mee houden dat bij het ontwikkelen van oplossingen die aangepast zijn aan het platform om te gebruiken, elke wijziging van de hardware direct van invloed kan zijn op de software, hetgeen tot uiting komt in situaties van vervanging van het product of zelfs in updates van de software zelf. Aan de andere kant, onthoud dat het gebruik van embedded Linux de noodzaak inhoudt om een relatief grote geheugenruimte te hebben in vergelijking met andere omgevingen. Dat zal meestal invloed hebben op apparaten met beperkte middelen.
de som van al deze aspecten kan leiden tot een toename van geld en tijd voor het ontwikkelen van nieuwe implementaties. Om deze reden is het uiterst belangrijk om altijd te vertrouwen op deskundige ontwikkelaars die het proces zo veel mogelijk kunnen optimaliseren.
-
het hebben van reacher functies kan leiden tot een hogere complexiteit.
-
het aanpassen van de hardware kan de software beïnvloeden.
-
behoefte aan Grotere geheugenruimte.
Embedded Linux: find embedded software developers
dus, met al dat gezegd zijnde, bent u op zoek naar deskundige C/C++ ontwikkelaars voor software en embedded systems development op Linux? Je hebt ze net gevonden.
BEKIJK ONZE EMBEDDED SOFTWARE OPLOSSINGEN