Windows Embedded CE System-Programmierung (Deutsch)/(English)

Kursbeschreibung

Im ersten Teil des Kurses wird ein Überblick über Aufbau und Eigenschaften von Windows Embedded (CE 6.0, Compact 7), sowie über die Microsoft Entwicklungswerkzeuge gegeben.

Danach werden die Prozess- und Thread-Konzepte von Windows CE erläutert und gezeigt, wie unabhängig laufende Threads synchronisiert und Daten zwischen verschiedenen Prozessen ausgetauscht werden können.

Ein weiterer und zentraler Themenbereich beschäftigt sich mit der Speicherverwaltung (MMU Memory Management Unit) unter Windows Embedded (CE 6.0, Compact 7). Da die meisten Embedded Systeme über sehr wenig Speicher verfügen, stellt sich immer die Frage, wie geht man ökonomisch mit Speicher um. Hier werden folgende Fragen in umfangreichen Übungen erklärt. Was sind prozess-globale und prozess-lokale Daten? Wie wird die Interprozess-Kommunikation über einen gemeinsamen Speicher (shared Memory) über (MMF Memory Mapped File) realisiert? Dabei kann das gemeinsame Objekt als RAM-Objekt oder als File-Objekt erzeugt werden, das entweder auf dem WinCE-Gerät oder auf dem WinXP/Vista-Host liegen kann. Ein Objekt, das auf einem XP/Vista-Host liegt, eignet sich hervorragend um Testdaten festzuhalten, die sich bei Störungen nicht auf dem WinCE-Gerät befinden.

Wie wird die Interprozesskommunikation über DLLs (glogal oder shared Memory) realisiert? Wie wird der Zugriff auf das gemeinsame Objekt synchronisiert? Dazu gehört auch der Umgang mit dem beständigen, batteriegepufferten Objektspeicher, der zur Ablage von Dateien, Datenbanken und Registrierungseinträgen verwendet wird.

Im Kapitel DLL wird aufgezeigt wie man statische- (LIBs) und dynamische- Bibliotheken (DLLs) erzeugt und sinnvoll einsetzt. Auch wird der Einsatz von STUB-LIBs gezeigt.

Im Kapitel Kommunikation wird gezeigt, wie Windows Embedded (CE 6.0, Compact 7) Systeme über Netzwerk-Schnittstellen mit anderen Systemen zusammenarbeiten können. Die Programmierung des TCP/IP Stacks mit Sockets wird eingehend besprochen und geübt.

Der Lehrstoff wird durch praktische Übungen vertieft. Nach dem Kurs ist der Teilnehmer in der Lage, systemnahe Anwendungen auf kundenspezifischen Windows Embedded (CE 6.0, Compact 7) Targets zu entwickeln.

Auf Fragen zu früheren WinCE-Versionen kann jederzeit eingegangen und auch beantwortet werden.

Themenschwerpunkte

  • Überblick über die System Architektur
    • Unicode
  • Interrupts und Exceptions
    • Was sind Exceptions oder Interrupts?
    • Wie kann man auf Exception reagieren?
    • Struktur des Exception Handlings
    • Wie werden eigene Exception-Handler geschrieben und installiert?
  • Module und Komponenten
    • Windows CE 6.0 Platform
  • Windows GUI Programmier Model
    • Das Windows-Fenstermodell
  • Prozesse und Threads
    • Multithreading Umgebungen
    • Abarbeitung von Threads
    • Threadprioritäten
    • Preemptives MultiThreading
    • Multiprocessing
    • Process Space und Fibers
    • Scheduling
  • Synchronisation
    • Critical Sections
    • Mutex
    • Semaphores
    • Events
    • Point-to-Point Message Queues
    • Deadlocks
  • Memory Management
    • Virtueller Adreßraum
    • Process Viewer
    • Heaps
    • Local / Heap / Win32 Funktionen (VirtualAlloc)
    • Zugriffsrechte - VirtualProtect
    • Freigeben von Speicherbereichen
    • Erkennen von Speicherknappheit (WM_HIBERNATE)
  • Dateiverwaltung
    • Dateikonzept
    • Zugriffsfunktionen für Dateien
    • Synchroner Dateizugriff
    • Memory Mapped Files
    • Erzeugen/Öffnen eines File Mapping Objektes
    • Umgang mit Views von Mapping Objekten
    • Interprozeßkommunikation über File Mapping
  • Netzwerk Sockets
    • Grundlagen der Netzwerkarchitektur
    • Loopback-Netzwerk
    • Das Internet Protocol (IP)
    • Das User Datagram Protocol (UDP)
    • Das Transmission Control Protocol (TCP)
    • Das Socket-Interface (Unix BSD 4.3 kompatiblen Sockets)
    • Fehlerbehandlung
  • Datenbankverwaltung
    • Einführung: Eine Windows CE Datenbank
    • Aufbau und Elemente einer Datenbank
    • Datenbankfunktionen (kreieren, öffnen usw.)
    • Die RAPI Datenbankfunktionen
  • Registry Management
    • Grundlagen der Registry
    • Remote Registry Editor
    • Registry Funktionsübersicht
    • RAPI Registryfunktionen
    • Beispiel: RAPI Applikation
  • DLL Programmierung
    • Windows CE Bibliotheken: Programmierung und Benutzung
    • Statische Bibliotheken: LIB
    • Dynamische Bibliotheken: DLL
    • Projektstruktur einer DLL
    • STUB-LIB anbinden an eine Applikation
    • Interprozeß Kommunikation mit DLL‘s
    • Shared und Global Memory mit DLLs
  • Realtime
    • Echtzeit Aspekte von Windows CE
    • Was ist Echtzeit?
    • Timer und Uhren
    • Prioritätsinversion - Das Problem
    • Prioritätsinversion - Die Lösung
  • RAPI (Remote API)
    • Windows CE Remote Dienste
    • RAPI Definition
    • Datei API über RAPI
    • RAPI- Funktionen
  • Serielles I/O
    • Öffnen und Schließen von seriellen Devices
    • Lesen von einer seriellen Schnittstelle
    • Schreiben auf eine serielle Schnittstelle
    • Abfragen und Ändern von Einstellungsparametern DCB
    • Die Datenstruktur DCB
    • Get-/SetCommState
    • Anwendung von Communication Events

Voraussetzungen

Programmierkenntnisse in C.

Zielgruppe

Software-Entwickler aus dem Bereich der systemnahen Anwendungsentwicklung unter Windows Embedded (CE 6.0, Compact 7).

Auf Anfrage bieten wir Ihnen auch CE-Schulungen, die speziell auf die Bedürfnisse von Supportmitarbeitern zugeschnitten sind!

Begleitendes Kursmaterial

  • Kursordner (deutsch)

FlexyTrain: Unsere Flexibilität – Ihr Plus

Keinen passenden Termin gefunden? Kein Problem: Bei der Planung unserer Kurstermine bieten wir Ihnen ein Höchstmaß an Flexibilität. Im Klartext: Gemeinsam mit Ihnen finden wir einen geeigneten Termin. Sprechen Sie uns an!