Anbieter zum Thema
Die Benutzerinteraktion
Die Benutzerinteraktion
Ein Boot Loader ermöglicht die Benutzerinteraktion basierend auf einem Menü mit Startoptionen für die Plattform. Dies ist während des Entwicklungsprozesses sowie für die Verwaltung und Softwareupdates nützlich. Im Ordner ist ein Boot Loader-Standardmenü dargestellt. Die Datei „Menu.c“ im Verzeichnis Src\Boot loader\Eboot eines Referenz-BSP oder im Ordner %_WINCEROOT%\Platform \Common\Src\Common\Boot\Blmenu enthält Quellcodebeispiele.
Zusätzliche Features
Zusätzliche Features
Neben den Basisfunktionen lassen sich weitere Features hinzufügen, beispielsweise eine Download-Statusanzeige und die Unterstützung für das Herunterladen mehrerer „.bin-Dateien“ während der gleichen Downloadsitzung oder ausschließlich vertrauenswürdiger Images.
Außerdem lässt sich die Run-Time-Image direkt aus dem Platform Builder 8 herunterladen und implementieren. Hierzu muss der Boot Loader ein BOOTME-Paket vorbereiten, das Informationen über das Zielgerät enthält, und das Paket über den zugrundeliegenden Transport senden. Wird Ethernet als Transport verwendet, wird das Paket über das Netzwerk übertragen.
Der StartUp-Einsprungspunkt
Der StartUp-Einsprungspunkt
Ähnlich wie der Boot Loader enthält der OAL einen StartUp-Einsprungspunkt für den Boot Loader oder das System, um die Kernelausführung zu starten und das System zu initialisieren. Beispielsweise ist der Assemblycode, der den Prozessor in den korrekten Status versetzt, normalerweise mit dem in Boot Loader verwendeten Code identisch.
Die Verwendung des gleichen Codes im Boot Loader und im OAL ist üblich, um die Codeduplizierung im BSP zu verringern. Es wird jedoch nicht der gesamte Code zweimal ausgeführt. Auf Hardwareplattformen, die von einem Boot Loader gestartet werden, springt StartUp direkt zur KernelStart-Funktion, da der Boot Loader die ursprüngliche Initialisierung bereits ausgeführt hat.
Die KernelStart-Funktion initialisiert die Speicherzuordnungstabellen und lädt die Kernelbibliothek, um den Microsoft-Kernelcode auszuführen. Der Microsoft-Kernelcode ruft die Funktion OEMInitGlobals auf, um einen Zeiger an den OAL zu übergeben.
Der Zeiger zeigt auf alle Funktionen und Variablen, die von KITL verwendet werden. Durch den Austausch der Zeiger auf die globalen Strukturen können Oal.exe und Kernel.dll auf die Funktionen und Daten der jeweils anderen Datei zugreifen und die architektur- sowie die plattformspezifischen Startvorgänge fortsetzen.
Die OEMInit-Funktion ist die OAL-Hauptroutine die boardspezifische Peripheriegeräte initialisiert, die Kernelvariablen konfiguriert und KITL startet, indem KITL IOCTL an den Kernel übergeben wird. Wurde KITL zum Run-Time Image hinzugefügt und aktiviert, startet der Kernel KITL für das Debuggen über verschiedene Transportlayer.
Unterstützung der Analysewerkzeuge
Unterstützung der Analysewerkzeuge
Der OAL des Betriebssystems überprüft die Leistung des Systems und unterstützt die Leistungsoptimierung. Das Tool ILTiming (Interrupt Latency Timing) lässt sich verwenden, um die zum Starten einer Interrupt Service Routine (ISR) erforderliche Zeitdauer nach einem Interrupt (ISR-Latenz) und die Zeitdauer zwischen dem Beenden der ISR und dem Starten des Interrupt Service Thread (IST-Latenz) zu messen.
Integrieren neuer Gerätetreiber
Integrieren neuer Gerätetreiber
Neben den Basissystemfunktionen enthält das BSP die Gerätetreiber für Peripheriegeräte. Bei den Peripheriegeräten kann es sich um Komponenten des Prozessorchips oder externe Komponenten handeln. Diese Komponenten sind vom Prozessor getrennt, aber ein integraler Bestandteil der Hardwareplattform.
Wenn das BSP auf dem gleichen Prozessor wie das Referenz-BSP basiert, muss für die Anpassung der Gerätetreiber der Quellcode im Ordner %TGTPLATROOT% geändert werden. Es können auch Treiber zum BSP hinzugefügt werden, wenn die neue Plattform Peripheriegeräte umfasst, die in der Referenzplattform nicht vorhanden sind.
Ändern der Konfigurationsdateien
Ändern der Konfigurationsdateien
Wenn das BSP aus einem vorhandenen BSP geklont wurde, sind bereits alle Konfigurationsdateien vorhanden. Es muss jedoch das Speicherlayout in der Datei Config.bib überprüft werden. Die anderen Konfigurationsdateien müssen nur geändert werden, wenn neue Treiber hinzugefügt oder Komponenten im BSP geändert worden sind.
(ID:356758)