1 / 20

Embedded Linux Portierung auf mobiles Datenerfassungsterminal

Embedded Linux Portierung auf mobiles Datenerfassungsterminal. Ole Reinhardt <ole.reinhardt@kernelconcepts.de>. Embedded Linux. Embedded = Eingebettet, Verborgen?. Embedded Linux. Embedded = Eingebettet, Verborgen? Nein!. Embedded Linux.

taipa
Download Presentation

Embedded Linux Portierung auf mobiles Datenerfassungsterminal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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?

More Related