Over naar (embedded) Linux

De vraag ‘Wat kost de overstap naar embedded Linux?’, is niet ondubbelzinnig te beantwoorden. Maar dat Linux niet niets kost is duidelijk. Bovendien lijken traditionele zekerheden als “kleiner is goedkoper”, vuistregels in de traditionele realtime/embedded systeemontwikkeling, niet meer geldig bij open-source.
Deze presentatie laat zien hoe Linux anders is een geeft een handvol gouden tips om Linux embedded te gebruiken, met veel hergebruik van kennis en kunde.

Over Naar (embedded) Linux from Albert Mietus

Transcript

Over naar Embedded Linux … Hoe doet u dat? Wat zijn de kosten van Linux En hoe ze te beperken De mogelijkheden van Linux Technisch of economisch? Wist u dat … wat iedereen weet na een paar projecten, maar u nu nog niet . . . U weet wat Embedded is … Maar, weet u het zeker? Klein, Zoals in een TV (16 Megabyte) Bron: B&C-online Kleiner dan; kleiner dan bijvoorbeeld een PC, “ 640K is genoeg”, was lang de PC norm! Snel: tijden in milliseconden @100MHz ==> honderdduizend cycli per ms! Sneller dan; sneller dan bijvoorbeeld een PC USB2: een seriele lijn van 480Mbits/sec. Ooit een interrupt gemist? Alles is anders. Embedded is groot geworden Software kost niets … Helaas, dat is onjuist! Alleen de ‘reproductiekosten’ zijn erg laag De licentiekosten zijn onderdeel van de BOM Voor ‘OpenSource’ Linux: €0,= Andere RTOS’en: €0, €3 … €150,= De ontwikkelkosten zijn niet nihil Vaak 50%, soms 80% en alsmaar stijgend Deel van die kosten zijn onnodig Voor Linux: Kosten van softwareontwikkeling en hardwarefabricage (BOM) zijn niet onafhankelijk! Linux is toch gratis? Helaas, dat is onwaar Linux is ‘ free’ en ‘open’, niet ‘ public domain’ Het GPL bevat zelfs het woord ‘gratis’ niet! U moet voldoen aan de licenties U mag de code (vaak) gratis downloaden U moet zelf: Lees: dit kost het u … Selecteren, Bouwen, Integreren & Testen Ontbrekende delen ontwikkelen Bijv: proprietary hardware Maar ook: dat wat er toevallig niet is Kortom: ontwikkelen met Linux is niet kosteloos Linux is geweldig, maar ook voor U? Linux versus traditioneel … Linux Groot, Generiek 32bit, MMU “ Kleiner is duurder!” (te) veel code ‘free’ Geen code voor alles Alles is mogelijk, maar niet alles is er! Licenties: GPL, LGPL, BSD, … GPL: juridisch onduidelijk U heeft geen keuze! Traditioneel Klein, Specifiek 8-bitter (mag meer) “ Meer kost meer” Opties betalen Mooie code-set Leverancier bepaalt wat je nodig hebt Licenties: Seat, Runtime, … ’ n zakelijke afspraak Onderhandelbaar Een typisch Linux systeem Hardware Toepassing Kernel Drivers selectie bouwen testen integreren Domein Kennis Tools Open Source BSP Linux Kennis Std. Feature boot/ rc-code init/ inetd Std. Feature libC BusyBox Linux uitdagingen Kies, kies & kies Distributie, kernel-versie, tools, code, opties, features, ... Drivers ‘ Mechanism, not policies ’ The Unix file API, Linux Device Model, Kobject, … Downsizen Wat is nodig, wat is nuttig, wat is betaalbaar? Hardware! ‘ PC’ is de norm Kiezen van wat Linux ondersteunt ??? Licenties GPL is geen technisch probleem, maar wel een risico! Defatco Linux oplossingen Risico: geen ervaring met embedded Linux Gebruik bestaande oplossingen, als uitgangspunt Busybox , en andere ‘ small (old) utilities ’ Risico: hardware & drivers Start op een oude (386) PC! Gebruik ‘PC-populaire’ hardware, als mogelijk Veel geheugen!!! (RAM & FLASH) Extra geheugen kan goedkoper zijn! (minder ontwikkelkosten) In release II is het toch nodig! Risico: GPL Voorkom een padstelling! Publiceer gewoon alles (een ander kan er toch niets mee) Splits platform & toepassing (fysiek en organisatorisch) Gouden tips, voor een snelle start TIP 1 Bepaal (vooraf) een standpunt over ‘OpenSource’ Resultaat: U kunt uw product opleveren Geen rechtzaken of negatieve publiciteit Kosten: Een maand (?) vergaderen (intern) Juridisch advies: €??? Do’s& Don’ts Zet alle code op uw website (ook goede PR) Besteedt alle ‘open’ delen uit (juridisch duidelijk) Betalen om (derden) OpenSoure te laten maken mag Die ‘derden’ maken alle code OpenSource, U gebruikt die OpenSource code ongewijzigd Mix nooit ‘ non-disclosure ’ en ‘GPL’ !!! Gouden tips, voor een snelle start TIP 2 Probeer uw toepassing eens op een (embedded)LinuxPC Resultaat: Inzicht in planning & risico’s Details van technische uitdagingen bekent Geheugen gebruik, #werk ‘echte poort’, etc Kosten: 386PC + embedded Linux: €0 + 4 uur Poorten toepassing: timebox < 1 week Do’s& Don’ts Niet ‘cross’; ‘moeilijke zaken’ overslaan Gebruik ‘stubs’, geen HW-details Voorkeur voor ‘open’ Linux & tools! Gouden tips, voor een snelle start TIP 3 Kies eerst voor Linux, dan de hardware (details) Resultaat: Ontwikkelkosten omlaag: er zijn (goede) drivers Kosten: Overtuigen van de ‘systeem broeders’ N.B. Er zijn geen extra HW kosten; kies ‘even duur, maar beter voor (sw) project’ Do’s& Don’ts Negeer ‘mooie’ desktop/server opties GUI’s, installers, packages, etc Bestaande systemen: bepaal ‘ Linux geschiktheid ’ Over naar Linux, zo doet u dat Hergebruik: code & ervaring 80% van wat u nodig heeft, is er al! Start op ’n oude 386PC met embedded Linux Linux is immers ‘hardware onafhankelijk’ Dat levert technische en project ervaring op Qua performance lijkt het een embedded systeem Gebruik ‘stub-versie’ als referentie systeem. Kijk niet alleen naar techniek OpenSource standpunt, Projectplanning, GPL Gebruik een zo breed mogelijke (project)scope Kijkt u dan naar de economische mogelijkheden: Dan is Linux geweldig, als middel voor embedded systemen! Bedankt, en meer Dank voor uw aandacht En veel succes met Linux! Voor meer info: Kom naar de PTS stand http://www.pts.nl [email_address] Als u meer informatie, praktijkvoorbeelden of analyses wilt over bijvoorbeeld werken met OpenSource software of end-of-life problematiek, dan kijkt u op: http://www.passievoortechniek.nl http://albert.mietus.nl/read.IT