Lab 2: Erstellen ihres eigenen Boardunterstützungspakets (BSP)

Ein BSP enthält einen Satz von Gerätetreibern, die speziell für die Komponenten/Silicon sind, die im Board verwendet werden. Diese werden von den Komponentenanbietern / Siliconanbietern bereitgestellt, hauptsächlich in Form von .inf und zugeordneten .sys/.dll-Dateien.

Erstellen Sie ein neues Board-Supportpaket (BSP), wenn:

  • Erstellen eines neuen Hardwaredesigns

  • Ersetzen eines Treibers oder einer Komponente auf einem vorhandenen Hardwaredesign

Unabhängig davon, ob Sie ein neues BSP erstellen oder ein vorhandenes BSP ändern, werden Sie zum Besitzer. Dadurch können Sie entscheiden, ob Updates auf Ihren Boards installiert werden können.

In unserem Labor 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 in das Featuremanifest

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

    Öffnen Sie in einem anderen Fenster das Raspberry Pi 2-Featuremanifest, um 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)

      Beim Erstellen ihres eigenen BSP ist es typisch, einen Anzeigetreiber und einen Speichertreiber und manchmal einen Netzwerktreiber zu benötigen.

    • Gerätespezifische Anpassungen

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

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

  4. Kopieren sie in Features (Features).

    Kopieren Sie die gewünschten Features. Ausschließen sie alle, die sich nicht auf Ihr Projekt beziehen.

    Kopieren Sie beispielsweise in jeden der 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 Gruppierungspakete einfacher zu machen, können Sie sie in eine oder mehrere Feature-IDs kombinieren. Beispielsweise verwenden alle optionalen Raspberry Pi 2-Treiber die Feature-ID: RPI2_DRIVERS.

  5. Hinzufügen des HelloBlinky-Treibers

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

Erstellen eines neuen Produktordners

  1. Erstellen Sie einen neuen Arbeitsproduktordner, indem Sie Ihren BSP-Namen zum Ende hinzufügen.

    newproduct ProductC MyRpi2
    

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

Aktualisieren der Konfigurationsdateien des Projekts

  1. Aktualisieren der Produkttestkonfigurationsdatei mithilfe von Add-IoTProductFeature

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

Erstellen und Testen des Bilds

Erstellen des Image

  1. Erstellen Sie aus der IoT Core Shell das Bild:

    buildimage ProductC Test
    

    Dadurch wird die Produkt-Binärdateien bei C:\MyWorkspace\Build\<arch>\ProductC\Flash.ffu.

  2. Starten Sie windows IoT Core Dashboard>Setup ein neues Gerät>Custom, und navigieren Sie zu Ihrem Bild.

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

  3. Setzen Sie die Karte auf das IoT-Gerät, und starten Sie sie.

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

Überprüfen Sie, ob Ihr Treiber funktioniert

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

Gerätelayout

Nächste Schritte

Lab 3: Aktualisieren von Apps