Embedded Linux. Är det samma sak som Linux?
- Vad är Linux?
- inbäddad Linux | Vad är det? Var ska man använda den?
- Linx på inbyggda system / vanliga applikationer
- hur man utvecklar inbäddad Linux på Windows
- Vad är Windows Subsystem för Linux (WSL)?
- inbäddad Linux och Android / Hur fungerar det?
- vilka är fördelarna med att använda inbäddad Linux?
- öppen källkod.
- lågt pris.
- flera programvaru -, utvecklings-och supportleverantörer.
- mycket anpassningsbar.
- större flexibilitet.
- möjliga nackdelar med inbäddad Linux
- att ha reacher-funktioner kan leda till högre komplexitet.
- modifiering av hårdvaran kan påverka programvaran.
- behov av större minnesutrymme.
- Embedded Linux: hitta embedded software developers
Vad är Linux?
i tidigare inlägg har vi redan gjort en introduktion till inbyggda systemteknik som ger några exempel som finns på marknaden samt listar alla möjliga funktioner. Idag kommer vi att prata om operativsystemet par excellence som används som ett utvecklingsverktyg för denna typ av enhet: Linux.
Linux är namnet på kärnan och en serie Unix-operativsystem under GNU GPL. I många avseenden liknar Linux andra operativsystem som Windows, macOS (tidigare OS X) eller iOS. Liksom dem kan Linux ha ett grafiskt gränssnitt och samma typer av skrivbordsprogramvara som du är van vid, till exempel ordbehandlare, fotoredigerare, videoredigerare etc.
men Linux skiljer sig också på många viktiga sätt. Först och främst, och kanske dess viktigaste funktion, är det programvara med öppen källkod. Koden som används för att skapa Linux är gratis och tillgänglig för allmänheten att visa, redigera och – för användare med kunskap – bidra till den.
en annan relevant skillnad är att Linux, även om Kärndelarna i Linux-operativsystemet i allmänhet är utbredda, innehåller många Linux-distributioner olika programvarualternativ. Det betyder att Linux är otroligt anpassningsbart. Vi kan installera ett mycket lätt system och lägga till allt som behövs senare eller som vi behöver det. Användare kan också välja huvudkomponenterna, till exempel systemet som visar grafiken och andra komponenter i användargränssnittet.
du använder förmodligen redan Linux, även om du inte är medveten om det eftersom det finns i programvaran för ett stort antal enheter som vi använder dagligen. Även de flesta av Internetwebbsidorna som vi besöker har förmodligen genererats av Linux-servrar. På samma sätt väljer de flesta företag och privatpersoner Linux för sina servrar eftersom det är säkert, flexibelt och kan få utmärkt stöd från en stor grupp användare.
inbäddad Linux | Vad är det? Var ska man använda den?
ett inbäddat system är en uppsättning datormaskinvara och programvara baserad på en mikrokontroller eller mikroprocessor, styrd av ett realtidsoperativsystem eller RTOS, begränsat minne, och som kan variera både i storlek och komplexitet. Embedded Linux är en typ av Linux operativsystem / kärna som utformades för att installeras och användas i inbäddade enheter eller system.
även om den använder samma kärna, är inbäddad Linux helt annorlunda än standardoperativsystemet. Först och främst skräddarsys den för inbyggda system och är därför mycket mindre i storlek, kräver mindre processorkraft och har minimala funktioner. Linux-kärnan är modifierad och optimerad som en inbäddad Linux-version. En sådan Linux-instans kan bara köra program som skapats speciellt för enheten.
inbäddad Linux är flexibel, billig, öppen källkod och anpassas till specifika mikroprocessorer. Jämfört med egna inbyggda operativsystem tillåter Linux flera programvaru -, utvecklings-och supportleverantörer; den har en stabil kärna och ger möjlighet att läsa, ändra och omfördela källkod. Det möjliggör också ett mycket modulärt byggstenar för att bygga ett anpassat system, vilket leder till större flexibilitet.
Yocto-projektet sticker ut: det är ett samarbetsprojekt med öppen källkod som gör det enkelt för utvecklare att skapa sina egna anpassade Linux-system, oavsett hårdvaruarkitektur. Detta verktyg används ofta för att skapa anpassade inbäddade Linux-distributioner.
Linx på inbyggda system / vanliga applikationer
av dessa skäl, och tack vare dess mångsidighet, har inbäddad Linux blivit mycket populär bland de inbyggda systemingenjörerna. Många hemelektronik enheter som telefoner, smarta tabletter, digitala lagringsenheter, personliga videobandspelare, kameror, wearables, och många andra vanligtvis utvecklas med Linux. Det blir används i bilar programvara, och många andra exempel såsom nätverksutrustning, maskinstyrning, industriell automation, navigationsutrustning, rymdfarkoster flygning programvara, och medicinska instrument i allmänhet.
även Microsoft Windows har Linux-komponenter som en del av Windows-delsystemet för Linux eller WSL. Men kanske det bästa exemplet på inbäddad Linux är Android, utvecklad av Google. Vi kommer att se dessa två sista exempel mer detaljerat i hela inlägget.
hur man utvecklar inbäddad Linux på Windows
att introducera inbäddad Linux i din organisation kan innebära flera utmaningar att övervinna. Guider är verkligen användbara för att få erfarenhet i god takt, men hur är det med utvecklingsmiljön? Behöver den ersättas helt för att stödja Linux-utveckling?
i många fall görs inbäddad Linux-produktutveckling genom att använda Linux-värden själv. PC-versionen erbjuder fler förinstallerade bibliotek och verktyg än inbäddade Linux-system, vilket gör Linux-utvecklingsvärdar idealiska för att utveckla inbäddad Linux-kod. Men hur är det med ingenjörer som är nya för detta operativsystem eller som föredrar att använda Windows som utvecklingsvärd?
den mest utbredda lösningen hittills har varit att använda virtuella miljöer som VirtualBox eller VMware Player. På så sätt får användaren fortsätta arbeta med Windows som huvudoperativsystem och därför fortsätta surfa i en redan bekant miljö och använda den virtuella maskinen med Ubuntu eller andra Linux-distributioner för utveckling av inbäddade Linux-baserade produkter.
dessutom finns det andra alternativ för att utveckla inbäddad Linux-kod. Containerteknik har nyligen fått mycket intresse och erbjuder ett annat alternativ för att köra en Linux-distribution inom Windows-operativsystemet.
Vad är Windows Subsystem för Linux (WSL)?
källa: Microsoft Docs
å andra sidan har Microsoft också tagit ett steg framåt för att stödja Linux-utvecklingsmiljön inom sitt operativsystem med introduktionen av Windows Subsystem for Linux (WSL), som inkluderades i Windows 10-versionen.
WSL tillhandahåller ett Linux-kompatibelt kärngränssnitt utvecklat av Microsoft, som sedan kan köra ett GNU-användarutrymme ovanpå det. På så sätt kan Linux-utvecklingsverktyg enkelt installeras i den inbyggda Linux-miljön baserat på WSL.
vad betyder detta för utvecklare? Det betyder att de som föredrar att utvecklas under värd Windows-operativsystemet kan stanna med den välbekanta Windows-utvecklingsmiljön och helt enkelt aktivera Linux-utvecklingsmiljön på samma värd.
tack vare detta kom integrerade mjukvaruverktyg ut för att användas i Windows själv, till exempel Timesys IDE TimeStorm. Detta Eclipse-baserade program ger användare av operativsystemet Windows 10 en bekant miljö, vilket gör det enkelt att utveckla inbäddade Linux-produkter i en Windows-miljö. Den här funktionen gör den till en idealisk lösning för programmerare som vill migrera till utvecklingen av mikroprocessorbaserade Linux-enheter, eftersom den, förutom att stödja språk som C/C++/Python, använder samma Yocto SDK i Linux-operativsystem och Windows.
inbäddad Linux och Android / Hur fungerar det?
Android-operativsystemet är en typ av inbäddad Linux, anpassad för att användas på smartphones. I huvudsak kör Android samma typ av Linux-kärna som inbyggda system och delar samma drivrutiner, minneshantering och nätverksfunktioner. Men det innehåller också några kärnändringar som gör den idealisk för mobila system. Dessutom kommer den laddad med extra funktioner som tas från andra open source-projekt.
Google byggde Android som ett mobilt operativsystem som kommer med sitt ekosystem, separat från den klassiska Linux. Användargränssnittet blir optimerat för pekskärmsenheter. Dessutom kommer den med en uppsättning API: er som möjliggör en mer standardiserad applikationsutvecklingsmiljö. På samma sätt kan Android-enheter dessutom dra nytta av en serie Google-tjänster som Google Maps, Fit, Cast eller Awareness, bland andra.
vissa kan tro att Android blir en livskraftig ersättning för inbäddad Linux eftersom den standardiserar mjukvaruutveckling för enheter som telefoner, surfplattor eller TV-apparater. Ändå kan Android bli allt populärare, men det har fortfarande en lång väg att gå innan man vänjer sig i samma grad som inbäddad Linux och – ännu mindre troligt – att ersätta den. De” klassiska ” sorterna av inbäddad Linux dominerar utan tvekan som det operativsystem som valts för inbyggda systemutvecklare.
för de flesta inbäddade Linux-enheter, som till exempel integreras i industriella maskiner, och som trivs med låg strömförbrukning, tenderar de mobilvänliga funktionerna att vara en extra bulk som en utvecklare kan behöva eliminera. Det är därför Android är mest meningsfullt i en enhet som utnyttjar sina styrkor när det gäller användargränssnitt och media.
vilka är fördelarna med att använda inbäddad Linux?
som vi redan har sett är embedded Linux en kompakt version av Linux som erbjuder funktioner och tjänster efter drift och applikationskrav för det inbäddade systemet. Liksom Linux är dess främsta fördelar jämfört med andra integrerade operativsystem bland annat användningen av öppen källkod och därmed låg kostnad, förekomsten av flera programvaru–, utvecklings – och supportleverantörer och öppenhet när det gäller upphovsrätt eller licenser och en stabil och robust kärna. Dessutom förmågan att läsa, modifiera och omfördela källkoden, i kombination med en mycket modulär byggsten strategi för att utveckla en anpassad inbäddat system. Detta ger större flexibilitet i designmöjligheter.
-
öppen källkod.
-
lågt pris.
-
flera programvaru -, utvecklings-och supportleverantörer.
-
mycket anpassningsbar.
-
större flexibilitet.
möjliga nackdelar med inbäddad Linux
bland de möjliga nackdelarna med inbäddad Linux är det värt att notera dess komplexitet. Tack vare att det är öppen källkod och har flera utvecklingar är embedded Linux rikare på funktioner än andra inbäddade utvecklingsmiljöer. Linuxs stora kodbas (både inom ditt system och tillgängligt i samhället) resulterar i nästan oändlig komplexitet.
dessutom bör vi överväga att när vi utvecklar lösningar anpassade till plattformen för att användas, kan varje modifiering av hårdvaran direkt påverka programvaran, vilket återspeglas i situationer med produktbyte eller till och med i uppdateringar av själva programvaran. Å andra sidan, kom ihåg att användning av inbäddad Linux innebär behovet av att ha ett relativt stort minnesutrymme jämfört med andra miljöer. Det kommer mest att påverka enheter med begränsade resurser.
summan av alla dessa aspekter kan leda till en ökning av pengar och tid för att utveckla nya implementeringar. Av denna anledning är det oerhört viktigt att alltid lita på expertutvecklare som kan optimera processen så mycket som möjligt.
-
att ha reacher-funktioner kan leda till högre komplexitet.
-
modifiering av hårdvaran kan påverka programvaran.
-
behov av större minnesutrymme.
Embedded Linux: hitta embedded software developers
så, med allt detta sagt, letar du efter expert C/C++ – utvecklare för utveckling av programvara och inbyggda system på Linux? Du har precis hittat dem.
SE VÅRA INBYGGDA MJUKVARULÖSNINGAR