Windows Embedded CE 6 Systemgenerierung und Treiber (Deutsch)/(English)

Kursbeschreibung

Nach dem Kurs ist der Teilnehmer in der Lage, Systemkomponenten von Microsoft und Fremdkomponenten wie z.B. Treiber zusammenzustellen und einen hardwarespezifischen Windows Embedded CE 6.0 Kernel zu erstellen. Er kann eigenständig CE Systemtreiber entwickeln und mit dem Kernel-Debugger des Platformbuilders testen.

Nach einem Überblick über die Komponentenarchitektur des CE Betriebssystems wird der Teilnehmer in die wesentlichen Tätigkeiten des Buildprozesses eingeführt. Hierbei werden alle wichtigen Werkzeuge des jeweils aktuellen Platform Builders besprochen, so dass der Teilnehmer in der Lage ist, alle Phasen (WinCE, cesysgen, buildrel, makeimg) des Build-Prozesses zu verstehen, die Umgebungsparameter und Konfigurationsdateien für seine Bedürfnisse anzupassen und den Build selbstständig durchzuführen. Auch die verschiedenen Download- und Debugging - Techniken werden vermittelt. Um Anwendungen für den angepassten Kernel erzeugen zu können, werden kernelspezifische Bibliotheken benötigt. Auch Erzeugung und Export dieser SDK Bibliotheken ist Thema des Kurses. Weiter wird das Hinzupacken eigener Anwendungen in den Kernel besprochen.

Erster Themenschwerpunkt ist ein fundierter Einstieg in das RTOS von Windows CE 6.0, die Architektur mit seinen Komponenten und den Tools für die Imagegenerierung. Ferner werden der kompletten Build-Prozess und die Fehlerbehandlung bei der Imagegenerierung behandelt.

Nächster Themenschwerpunkt ist eine kurze Einführung in das Multithreading- und Synchronisationsmodell von Windows Embedded CE 6.0. Auf Wunsch werden auch die Unterschiede zu Windows XP/Vista und das sich daraus ergebende Echtzeitverhalten intensiv besprochen.

Nächster Themenschwerpunkt ist die Treiberprogrammierung. Zuvor wird die hierfür notwendige Einführung in die Speicherarchitektur und das Windows Embedded CE 6.0 Modell des dynamischen Linkens (DLL Programmierung) gegeben. Nach Besprechung des Device Managers wird die Entwicklung von Stream Drivern beleuchtet. Es wird ein kompletter threadsafe - Devicetreiber implementiert.

Ein weiterer Themenschwerpunkt ist der BOOT-Loader, das BSP (Board-Support-Package) und die Implementierung des Power-Managements im Treiber.

Ein sehr zentraler Fokus ist auch die Interruptprogrammierung. Das Interruptmodell ISR (Interrupt Service Routine) und IST (Interrupt Service Thread) wird ausführlich behandelt - inklusive der hierbei entstehenden Latenzen und deren Bedeutung für die zeitkritische technische Programmierung. Um das bis dahin erworbene Wissen zu vertiefen wird ein CAN-Treiber entwickelt. Die dafür notwendige Hardware wurde von der HILF!GmbH eigens für Schulungszwecke entwickelt. Die Kurs Übungen können auf dem „Device-Emulator (DMA)“ oder auf einer realen Hardware erarbeitet werden. Für das HILF!GmbH-Treiber-Modul CAN benötigt man eine reale x86-Hardware mit Parallel-Port.

Neu ab 2010: Wie entwickelt man einen Bus Agnostic Driver für den PCI-Bus?

Wie implementiert man einen installierbaren ISRHandler (shared Interrupt)?

Wie erfolgt der Datenaustausch zwischen dem ISRHandler und dem ISThread?

Der Kurs setzt sich zusammen aus folgenden Teilen:

- MOC Building Embedded Solutions using Windows Embedded CE 6.0 R3

- HILF!-spezifische Kursmodule (Treiber Entwicklung, CAN Treiber).

- Kursmaterial wird in elektronischer Form (*.pdf) zur Verfügung gestellt!

Themenschwerpunkte

  • Architekturübersicht
    • Microsoft Embedded Betriebssysteme BS
    • Leistungsmerkmale von CE 6.0
  • Werkzeuge für die Plattform-Entwicklung, Module, Komponenten
    • Visual Studio 2005 & CE 6.0 Installation
    • Windows Embedded CE 6.0 Terminologie
    • Einführung in den Build Prozess
    • Test und Debugging des BS Designs
  • Internas von CE 6.0
    • System Architektur
    • Speicher Architektur
    • Threads und Scheduling
    • Synchronisation
    • Interrupt Modell
    • Dynamische Link-Bibliothek
  • Betriebssystem Komponenten
    • File System
    • Die Registry
    • Power Management
    • Internationalisierung / Unicode
  • Das Build System - Platform Builder
    • Struktur des Directorys
    • Build Prozess
    • Das Build Werkzeug - Plattform Builder
    • Kommandozeile
    • Fehlerbehandlung des Build Systems
    • Batch-Prozesse
  • Das Board Support Package
    • BSP Überblick
    • Plattform Common Code
    • BSP Komponenten
    • diverse Files
    • Erzeugen eines neuen BSPs
  • Entwicklung von Device Treibern
    • Überblick Device Treiber, OAL
    • Stream Treiber Architektur
    • User Mode Treiber Framework
    • Behandlung von Caller Buffer
    • Interrupts
    • Laden von Stream Treiber
    • Debugging
  • Einführung in:
    • Unicode
    • GUI-Programmiermodell
  • Realtime (CE Echtzeit Aspekte)
  • Entwicklung eines CAN-Treibers
  • Anpassung des BS Designs
    • katalog Überblick
    • Die WinCE 6.0 Shell
    • Das SDK
  • Applikations-Entwicklung
  • Test

Voraussetzungen

Ausreichende Kenntnisse in C oder C++. Kenntnisse über Betriebssystemarchitekturen sind hilfreich. Hardware-, sowie Win32 API-Kenntnisse sind von Vorteil. Erfahrungen mit älteren WinCE Versionen sind nicht notwendig.

Zielgruppe

System-, BSP-, Treiber-Designer und Entwickler, die ihren eigenen optimierten Windows CE Systemkern generieren oder für den gekauften Windows Embedded CE 6.0 Systemkern Treiber und Kernelprogramme mit dem Plattform Builder entwickeln möchten. Aber auch Applikations-Entwickler sowie Test- und QA-Ingenieure, die wissen müssen, was "unter dem Blech" von CE 6.0 steckt.

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

Dieses Seminar ist die optimale Prüfungsvorbereitung (Exam 70-571): (MCTS) Microsoft Certified Technology Spezialist.

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!