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.
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