Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

20
Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt <[email protected]>

Transcript of Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Page 1: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Embedded Linux Portierungauf mobiles Datenerfassungsterminal

Ole Reinhardt <[email protected]>

Page 2: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Embedded Linux

Embedded = Eingebettet, Verborgen?

Page 3: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Embedded Linux

Embedded = Eingebettet, Verborgen? Nein!

Page 4: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Embedded Linux

Embedded Linux eignet sich auch für Endbenutzergeräte...

z.B. Skeye.Integral von Höft&Wessel

Page 5: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Embedded Linux

Vorteile von Linux als Betriebssystem:

• Unabhängige Lösung• Einfache Integration• Schnelle / Kundenspezifische Anpassung• Applikationsentwicklung: Gleiche APIs wie auf dem PC• Großer Fundus an bewährter Software und Programmbibliotheken• Plattformunabhängigkeit

Page 6: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Embedded Linux auf Skeye.Integral

Das Ziel:

Vollständiger Ersatz für Windows CE.NET 4.20und den Bootloader

Die Lösung:• ARM Linux Kernel 2.4.25

• Familiar Linux Distribution

• GPE Desktop Enviroment

Page 7: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Embedded Linux auf Skeye.Integral

Die Plattform:• StrongARM SA1110 206Mhz, SA1111 Companion

• 64MB RAM, 32 NAND Flash, 1 MB NOR Flash

• 2x CF Steckplatz, Laserscanner, Tastatur

• 240x320 16Bit TFT Display

• USB Host und Client

• IR und RS232 Schnittstelle, LiIon Akku

Page 8: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Die Baustelle

Arbeitsschritte bei der Portierung:• Entwicklung des Bootloaders

• Anpassen des ARM Linux Kernels

• Entwicklung eigener Treiber für spezielle Hardware

• Erstellen einer eigenen Linux Distribution

• Entwicklung / Anpassung des GUI

• Integration des Gesamtsystems

Page 9: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Die Baustelle: Bootloader

Wir verwenden den handhelds.org Bootloader

Nötige Anpassungen:

• Hardwareinitialisierung (SA1110, SA1111, FPGA, RAM, Flash, Display)

• Gerätespezifische Funktionen in der Bootloader Konsole

• Kundenspezifische Anpassung der Bedien- oberfläche des Bootloaders

Page 10: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Die Baustelle: Kernel

Grundlage: ARM Linux Kernel 2.4.25

Nötige Anpassungen:

• Eigenen Gerätetyp definieren

• Hardwareinitialisierung

• Treiber und proc Interface für den FPGA

• NAND Flash Treiber ...

Page 11: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Die Baustelle: Kernel

Fortsetzung...

• Displayinitialisierung

• SA1111 Treiber anpassen (USB Host, PCMCIA)

• Barcodescannertreiber

• Tastaturtreiber

• Treiber für IR Interface (eigenes Protokoll)

Page 12: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Die Baustelle: Kernel

Schwierigkeiten:

• Zeitkritische Hardware

• Powermanagement

• FPGA: PCMCIA, USB, NAND-Flash...

• IR-Protokoll

Page 13: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Die Baustelle: Distribution

Familiar Linux Distribution

Linux Distribution für embedded Geräte

• Geringer Memory Footprint:• Busybox, Tiny X (X Window System), ...

• Ausgewählte Bibliotheken

• Ausgewählte Tools

• Dennoch: • Umfangreiche Funktionalität und 100% Kompatibilität

• Netzwerk- und Systemtools, grafische Benutzerumgebung

Page 14: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Die Baustelle: GUI

GPE: G Palmtop EnviromentGrafische Benutzeroberfläche basierend auf offenen Standards.• 100% freie Software, GTK+ basiert

• Closed source Software möglich

• Einfache Applikationsentwicklung

• Existierende GTK Software läuft ohne / mit geringen Änderungen

• Einfaches aber sehr funktionales User Interface

• PIM Applikationen, Programm manager, SQL Datenbank, Barcode Scanner Applikation, Control Panel uvm...

• Netzwerktransparenz, Display Migration GPE V2.6

Page 15: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Verwendete Tools

Wofür brauchen wir die Tools?• Bootloader Entwicklung

• Kernel Portierung / Anwendungsportierung

• Distributionserstellung

Page 16: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Verwendete Tools: Bootloader

Compiler:

arm-linux-gcc, Booloader Source-Code

Windows Bootloader:

Programm zum Laden des Linux Kernels aus

Windows CE heraus. Z.B.: Linexec, Haret (für Xscale)

JTAG Tools:

JTAG Tool des OpenWinCE Projektes

Page 17: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Verwendete Tools: Kernel

Dokumentation:

Schaltpläne, Registerdokumentation, Datenblätter

Literatur:

Linux Device Drivers, 2nd Editionby Alessandro Rubini, Jonathan Corbet

Toolchain:

Sammlung von Programmen, Tools und Libraries die zur Entwicklung benötigt werden.

z.B. handhelds.org Toolchain/Skiff Toolchain, OE Toolchain

Page 18: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Verwendete Tools: Distribution

Open Embedded Build enviroment• Metadata repository und Build enviroment für embedded Linux Distributionen

• Enthält Compiler und Laufzeitbibliotheken

• Arbeitet mit Paketbeschreibungen (Metadaten)

• Verwaltet Abhängigkeiten

• Verwaltet beliebige unabhängige Zielplattformen und Build Tools. Nicht auf eine Plattform spezialisiert

Page 19: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Verwendete Tools: Distribution

Open Embedded Build Enviroment

OE Core

Shared classes

Paket Metadaten

Strategie Konfiguration

Unabhängig von Zielplattform

Abhängig von Zielplattform

Page 20: Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt.

Vielen Dank für die Aufmerksamkeit.

Haben Sie Fragen?