Over Naar (embedded) Linux

859 views

Published on

Dutch: De kosten van (embedded) Linux zijn primair ontwikkelkosten. Deze presentatie laat zien "waar" die kosten zitten en hoe ze zo klein mogelijk gehouden kunnen worden.

EN: Shown how to lower the cost of Embedded Linux, by using a smart development approach

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Over Naar (embedded) Linux

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

×