Labo 2 : Création de votre propre package de support de carte (BSP)

Un BSP comprend un ensemble de pilotes de périphérique spécifiques aux composants/silicium utilisés dans la carte. Celles-ci sont fournies par les fournisseurs de composants/fournisseurs de silicium, principalement sous la forme de fichiers .inf et .sys/.dll associés.

Créez un package de support de carte (BSP) dans les cas suivants :

  • Création d’une conception matérielle

  • Remplacement d’un pilote ou d’un composant sur une conception matérielle existante

Que vous créiez un BSP ou que vous modifiiez un BSP existant, vous devenez le propriétaire. Cela vous permet de décider d’autoriser les mises à jour à installer sur vos tableaux.

Dans notre labo, nous allons créer un nouveau BSP basé sur le Raspberry Pi 2, en supprimant le pilote GPIO existant et en le remplaçant par l’exemple de pilote GPIO : GPIO KMDF demo.

Créer un dossier de travail BSP

  1. À partir d’IoT Core Shell, créez un dossier de travail BSP que vous souhaitez modifier à l’aide de Add-IoTBSP.

    Add-IoTBSP MyRPi2
    (or) newbsp MyRPi2
    

Ajouter des packages dans le manifeste de fonctionnalité

  1. Ouvrez le fichier manifeste de fonctionnalité pour votre nouveau BSP, C:\MyWorkspace\Source-arm\BSP\MyRpi2\MyRpi2FM.xml.

    Dans une autre fenêtre, ouvrez le manifeste de fonctionnalité Raspberry Pi 2 à utiliser comme modèle.

  2. Ajoutez vos packages de base (BasePackages).

    • Pilotes UEFI pour la partition de démarrage (RASPBERRYPI.RPi2.BootFirmware.cab)

    • Pilotes requis pour UpdateOS (SV.PlatExtensions.UpdateOS.cab)

    • Pilotes de périphérique obligatoires (bcm2836sdhc.cab, dwcUsbOtg.cab, rpiq.cab)

      Lors de la création de votre propre BSP, il est courant d’exiger un pilote d’affichage et un pilote de stockage, et parfois un pilote réseau.

    • Personnalisations spécifiques à l’appareil

  3. Copiez la disposition de l’appareil et les packages de plateforme (DeviceLayoutPackages, OEMDevicePlatformPackages).

    Notez que les OEMDevicePlatform.xml et les devicelayout.xml peuvent être empaquetés dans un package, par exemple DeviceLayout.MBR4GB. Le même package peut ensuite être spécifié en tant qu’entrée dans les deux sections (par exemple, sous <OEMDevicePlatformPackages> et <DeviceLayoutPackages>). Pour plus d’informations, consultez Disposition de l’appareil.

  4. Copier dans les fonctionnalités (Fonctionnalités).

    Copiez les fonctionnalités souhaitées. Excluez les éléments qui ne s’appliquent pas à votre projet.

    Par exemple, copiez chacun des pilotes à l’exception du pilote GPIO existant :

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

    Remarque : Pour faciliter le regroupement de packages, vous pouvez les combiner en un ou plusieurs ID de fonctionnalité. Par exemple, tous les pilotes facultatifs Raspberry Pi 2 utilisent l’ID de fonctionnalité : RPI2_DRIVERS.

  5. Ajouter le pilote HelloBlinky

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

Créer un dossier de produit

  1. Créez un dossier de produit opérationnel en ajoutant votre nom BSP à la fin.

    newproduct ProductC MyRpi2
    

    Cela crée le dossier : C:\MyWorkspace\Source-<arch>\Products\ProductC, qui est lié au nouveau BSP.

Mettre à jour les fichiers de configuration du projet

  1. Mettre à jour le fichier de configuration de test de produit à l’aide de Add-IoTProductFeature

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

Générer et tester l’image

Créer l’image

  1. À partir d’IoT Core Shell, créez l’image :

    buildimage ProductC Test
    

    Cela crée les fichiers binaires de produit à l’emplacement C:\MyWorkspace\Build\<arch>\ProductC\Flash.ffu.

  2. Démarrez le tableau de bord> Windows IoT CoreConfigurer un nouvel appareil>Personnalisé, puis accédez à votre image.

    Placez l’carte Micro SD dans l’appareil, sélectionnez-le, acceptez les termes du contrat de licence, puis cliquez sur Installer. Cette opération remplace l’image précédente par notre nouvelle image.

  3. Placez le carte dans l’appareil IoT et démarrez-le.

    Après un court laps de temps, l’appareil doit démarrer automatiquement et votre application doit s’afficher.

Vérifiez si votre pilote fonctionne

  1. Utilisez les procédures de test du laboratoire Hello, Blinky! pour tester votre pilote.

Disposition de l’appareil

Étapes suivantes

Labo 3 : Mettre à jour des applications