embedded linux portierung auf mobiles datenerfassungsterminal n.
Skip this Video
Loading SlideShow in 5 Seconds..
Embedded Linux Portierung auf mobiles Datenerfassungsterminal PowerPoint Presentation
Download Presentation
Embedded Linux Portierung auf mobiles Datenerfassungsterminal

Loading in 2 Seconds...

  share
play fullscreen
1 / 20
Download Presentation

Embedded Linux Portierung auf mobiles Datenerfassungsterminal - PowerPoint PPT Presentation

taipa
92 Views
Download Presentation

Embedded Linux Portierung auf mobiles Datenerfassungsterminal

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Embedded Linux Portierungauf mobiles Datenerfassungsterminal Ole Reinhardt <ole.reinhardt@kernelconcepts.de>

  2. Embedded Linux Embedded = Eingebettet, Verborgen?

  3. Embedded Linux Embedded = Eingebettet, Verborgen? Nein!

  4. Embedded Linux Embedded Linux eignet sich auch für Endbenutzergeräte... z.B. Skeye.Integral von Höft&Wessel

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

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

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

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

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

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

  11. Die Baustelle: Kernel • Fortsetzung... • Displayinitialisierung • SA1111 Treiber anpassen (USB Host, PCMCIA) • Barcodescannertreiber • Tastaturtreiber • Treiber für IR Interface (eigenes Protokoll)

  12. Die Baustelle: Kernel • Schwierigkeiten: • Zeitkritische Hardware • Powermanagement • FPGA: PCMCIA, USB, NAND-Flash... • IR-Protokoll

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

  14. Die Baustelle: GUI • GPE: G Palmtop Enviroment • Grafische 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

  15. Verwendete Tools • Wofür brauchen wir die Tools? • Bootloader Entwicklung • Kernel Portierung / Anwendungsportierung • Distributionserstellung

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

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

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

  19. Verwendete Tools: Distribution Open Embedded Build Enviroment OE Core Unabhängig von Zielplattform Shared classes Paket Metadaten Abhängig von Zielplattform Strategie Konfiguration

  20. Vielen Dank für die Aufmerksamkeit.Haben Sie Fragen?