Laboratorio 2: Creación de su propio paquete de soporte técnico de placa (BSP)
Un BSP incluye un conjunto de controladores de dispositivos que son específicos de los componentes o silicio usados en la placa. Estos los proporcionan los proveedores de componentes o los proveedores de silicio, principalmente en forma de archivos .inf y asociados .sys/.dll.
Cree un nuevo paquete de soporte técnico de placa (BSP) cuando:
Creación de un nuevo diseño de hardware
Reemplazar un controlador o componente en un diseño de hardware existente
Tanto si va a crear un BSP como si va a modificar un BSP existente, se convertirá en el propietario. Esto le permite decidir si desea permitir que las actualizaciones se instalen en los paneles.
En nuestro laboratorio, crearemos un nuevo BSP basado en Raspberry Pi 2, quitando el controlador GPIO existente y reemplazandolo por el controlador GPIO de ejemplo: demostración de GPIO KMDF de GPIO.
Creación de una nueva carpeta de trabajo de BSP
En ioT Core Shell, cree una carpeta de trabajo de BSP que le gustaría modificar mediante Add-IoTBSP.
Add-IoTBSP MyRPi2 (or) newbsp MyRPi2
Adición de paquetes al manifiesto de características
Abra el archivo de manifiesto de características para el nuevo BSP,
C:\MyWorkspace\Source-arm\BSP\MyRpi2\MyRpi2FM.xml
.En otra ventana, abra el manifiesto de características de Raspberry Pi 2 para usarlo como plantilla.
Agregue los paquetes base (BasePackages).
Controladores UEFI para la partición de arranque (RASPBERRYPI.RPi2.BootFirmware.cab)
Controladores necesarios para UpdateOS (SV.PlatExtensions.UpdateOS.cab)
Controladores de dispositivos obligatorios (bcm2836sdhc.cab, dwcUsbOtg.cab, rpiq.cab)
Al crear su propio BSP, es habitual requerir un controlador de pantalla y un controlador de almacenamiento, y a veces un controlador de red.
Personalizaciones específicas del dispositivo
Copie en los paquetes de plataforma y diseño del dispositivo (DeviceLayoutPackages, OEMDevicePlatformPackages).
Tenga en cuenta que tanto el OEMDevicePlatform.xml como el devicelayout.xml se pueden empaquetar en un paquete, por ejemplo, DeviceLayout.MBR4GB. A continuación, se puede especificar el mismo paquete como entrada en las secciones (por ejemplo, en
<OEMDevicePlatformPackages>
y<DeviceLayoutPackages>
). Para más información, consulte Diseño del dispositivo.Copiar en características (características).
Copie las características que desee. Excluya los que no se apliquen al proyecto.
Por ejemplo, copie en cada uno de los controladores excepto el controlador GPIO existente:
<PackageFile Path="$(mspackageroot)\Retail\$(cputype)\$(buildtype)" Name="RASPBERRYPI.RPi2.GPIO.cab"> <FeatureIDs> <FeatureID>RPI2_DRIVERS</FeatureID> </FeatureIDs> </PackageFile>
Nota: Para facilitar la agrupación de paquetes, puede combinarlos en uno o varios identificadores de características. Por ejemplo, todos los controladores opcionales de Raspberry Pi 2 usan el identificador de característica: RPI2_DRIVERS.
Adición del controlador HelloBlinky
<PackageFile Path="%PKGBLD_DIR%" Name="%OEM_NAME%.Drivers.HelloBlinky.cab"> <FeatureIDs> <FeatureID>BLINKY_DRIVER</FeatureID> </FeatureIDs> </PackageFile>
Creación de una carpeta de producto
Cree una carpeta de producto en funcionamiento y agregue el nombre de BSP al final.
newproduct ProductC MyRpi2
Esto crea la carpeta :
C:\MyWorkspace\Source-<arch>\Products\ProductC
, que está vinculada al nuevo BSP.
Actualizar los archivos de configuración del proyecto
Actualización del archivo de configuración de prueba del producto mediante Add-IoTProductFeature
Add-IoTProductFeature ProductC Test BLINKY_DRIVER -OEM (or) addfid ProductC Test BLINKY_DRIVER -OEM
Compilación y prueba de la imagen
Compilación de la imagen
En el Shell de IoT Core, cree la imagen:
buildimage ProductC Test
Esto crea los archivos binarios del producto en
C:\MyWorkspace\Build\<arch>\ProductC\Flash.ffu
.Inicie el panel > de Windows IoT CoreSetup a new device Custom (Configurar un nuevo dispositivo>personalizado) y vaya a la imagen.
Coloque la tarjeta Micro SD en el dispositivo, selecciónela, acepte los términos de licencia y haga clic en Instalar. Esto reemplaza la imagen anterior por nuestra nueva imagen.
Coloque la tarjeta en el dispositivo IoT y iníciela.
Después de un breve tiempo, el dispositivo debería iniciarse automáticamente y debería ver la aplicación.
Compruebe si el controlador funciona
- Use los procedimientos de prueba del laboratorio Hello, Blinky! para probar el controlador.