Lab 2: Erstellen Ihres eigenen Board-Support-Pakets (BSP)

Ein BSP enthält eine Reihe von Gerätetreibern, die spezifisch für die in der Platine verwendeten Komponenten/Silizium sind. Diese werden von den Komponentenherstellern / Siliziumherstellern bereitgestellt, meist in Form von .inf- und zugehörigen .sys/.dll-Dateien.

Erstellen Sie ein neues Board Support Package (BSP), wenn:

  • Erstellen eines neuen Hardwaredesigns

  • Ersetzen eines Treibers oder einer Komponente in einem vorhandenen Hardwaredesign

Unabhängig davon, ob Sie ein neues BSP erstellen oder ein vorhandenes BSP ändern, Sie werden der Besitzer. Auf diese Weise können Sie entscheiden, ob Updates auf Ihren Boards installiert werden dürfen.

In unserem Lab erstellen wir einen neuen BSP basierend auf dem Raspberry Pi 2, entfernen den vorhandenen GPIO-Treiber und ersetzen sie durch den Beispiel-GPIO-Treiber: GPIO KMDF Demo.

Erstellen eines neuen BSP-Arbeitsordners

  1. Erstellen Sie aus der IoT Core Shell einen BSP-Arbeitsordner, den Sie mithilfe von Add-IoTBSP ändern möchten.

    Add-IoTBSP MyRPi2
    (or) newbsp MyRPi2
    

Hinzufügen von Paketen zum Funktionsmanifest

  1. Öffnen Sie die Feature-Manifestdatei für Ihr neues BSP, C:\MyWorkspace\Source-arm\BSP\MyRpi2\MyRpi2FM.xml.

    Öffnen Sie in einem anderen Fenster das Funktionsmanifest von Raspberry Pi 2, um es als Vorlage zu verwenden.

  2. Fügen Sie Ihre Basispakete (BasePackages) hinzu.

    • UEFI-Treiber für die Startpartition (RASPBERRYPI.RPi2.BootFirmware.cab)

    • Für UpdateOS erforderliche Treiber (SV.PlatExtensions.UpdateOS.cab)

    • Obligatorische Gerätetreiber (bcm2836sdhc.cab, dwcUsbOtg.cab, rpiq.cab)

      Wenn Sie Ihr eigenes BSP erstellen, benötigen Sie normalerweise einen Anzeigetreiber und einen Speichertreiber und manchmal einen Netzwerktreiber.

    • Gerätespezifische Anpassungen

  3. Kopieren Sie die Gerätelayout- und Plattformpakete (DeviceLayoutPackages, OEMDevicePlatformPackages).

    Beachten Sie, dass sowohl OEMDevicePlatform.xml als auch devicelayout.xml in ein Paket gepackt werden können, z. B. DeviceLayout.MBR4GB. Dasselbe Paket kann dann in beiden Abschnitten als Eingabe angegeben werden (z. B. unter <OEMDevicePlatformPackages> und <DeviceLayoutPackages>). Weitere Informationen finden Sie im Gerätelayout.

  4. Features kopieren (Funktionen).

    Kopieren Sie die gewünschten Funktionen. Schließen Sie alle aus, die nicht auf Ihr Projekt zutreffen.

    Kopieren Sie beispielsweise alle Treiber mit Ausnahme des vorhandenen GPIO-Treibers:

    <PackageFile Path="$(mspackageroot)\Retail\$(cputype)\$(buildtype)" Name="RASPBERRYPI.RPi2.GPIO.cab">
        <FeatureIDs>
          <FeatureID>RPI2_DRIVERS</FeatureID>
        </FeatureIDs>
    </PackageFile>
    

    Hinweis: Um das Gruppieren von Paketen zu vereinfachen, können Sie sie zu einer oder mehreren Funktion-IDs kombinieren. Beispielsweise verwenden alle optionalen Raspberry Pi 2-Treiber die Funktion-ID: RPI2_DRIVERS.

  5. Fügen Sie den HelloBlinky-Treiber hinzu

        <PackageFile Path="%PKGBLD_DIR%" Name="%OEM_NAME%.Drivers.HelloBlinky.cab">
          <FeatureIDs>
            <FeatureID>BLINKY_DRIVER</FeatureID>
          </FeatureIDs>
        </PackageFile>
    

Erstellen Sie einen neuen Produktordner

  1. Erstellen Sie einen neuen Arbeitsproduktordner und fügen Sie am Ende Ihren BSP-Namen hinzu.

    newproduct ProductC MyRpi2
    

    Dadurch wird der Ordner erstellt: C:\MyWorkspace\Source-<arch>\Products\ProductC erstellt, der mit der neuen BSP verknüpft ist.

Aktualisieren Sie die Konfigurationsdateien des Projekts

  1. Aktualisieren Sie die Produkttest-Konfigurationsdatei mit Add-IoTProductFeature

    Add-IoTProductFeature ProductC Test BLINKY_DRIVER -OEM
    (or) addfid ProductC Test BLINKY_DRIVER -OEM
    

Erstellen und testen Sie das Image

Erstellen des Image

  1. Erstellen Sie in der IoT Core Shell das Image:

    buildimage ProductC Test
    

    Dadurch werden die Produktbinärdateien bei C:\MyWorkspace\Build\<arch>\ProductC\Flash.ffu erstellt.

  2. Starten Sie Windows IoT Core-Dashboard>Einrichten eines neuen Geräts>Benutzerdefiniert, und navigieren Sie zu Ihrem Image.

    Legen Sie die Micro-SD-Karte in das Gerät ein, wählen Sie sie aus, akzeptieren Sie die Lizenzbedingungen und klicken Sie auf Installieren. Dadurch wird das vorherige Bild durch unser neues Image ersetzt.

  3. Stecken Sie die Karte in das IoT-Gerät und starten Sie es.

    Nach kurzer Zeit sollte das Gerät automatisch starten und Sie sollten Ihre App sehen.

Überprüfen Sie, ob Ihr Treiber funktioniert

  1. Verwenden Sie die Testverfahren im Hello, Blinky!-Lab , um Ihren Treiber zu testen.

Gerätelayout

Nächste Schritte

Lab 3: Aktualisieren von Apps