Compartilhar via


Laboratório 2: Criando seu próprio pacote de suporte de placa (BSP)

Um BSP inclui um conjunto de drivers de dispositivo específicos para os componentes/silício usados no quadro. Eles são fornecidos pelos fornecedores de componentes/fornecedores de silício, principalmente na forma de .inf e arquivos de .sys/.dll associados.

Crie um novo BSP (Pacote de Suporte ao Quadro) quando:

  • Criando um novo design de hardware

  • Substituindo um driver ou componente em um design de hardware existente

Se você estiver criando um novo BSP ou modificando um BSP existente, você se tornará o proprietário. Isso permite que você decida se deseja permitir que as atualizações sejam instaladas em seus quadros.

Em nosso laboratório, criaremos um novo BSP com base no Raspberry Pi 2, removendo o driver GPIO existente e substituindo-o pelo driver GPIO de exemplo: demonstração GPIO KMDF.

Criar uma nova pasta de trabalho do BSP

  1. No Shell do IoT Core, crie uma pasta de trabalho BSP que você gostaria de modificar usando Add-IoTBSP.

    Add-IoTBSP MyRPi2
    (or) newbsp MyRPi2
    

Adicionar pacotes ao manifesto do recurso

  1. Abra o arquivo de manifesto do recurso para o novo BSP, C:\MyWorkspace\Source-arm\BSP\MyRpi2\MyRpi2FM.xml.

    Em outra janela, abra o manifesto do recurso Raspberry Pi 2 para usar como modelo.

  2. Adicione seus pacotes base (BasePackages).

    • Drivers UEFI para a partição de inicialização (RASPBERRYPI.RPi2.BootFirmware.cab)

    • Drivers necessários para UpdateOS (SV.PlatExtensions.UpdateOS.cab)

    • Drivers de dispositivo obrigatórios (bcm2836sdhc.cab, dwcUsbOtg.cab rpiq.cab)

      Ao criar seu próprio BSP, é comum exigir um driver de exibição e um driver de armazenamento e, às vezes, um driver de rede.

    • Personalizações específicas do dispositivo

  3. Copie os pacotes de layout e plataforma do dispositivo (DeviceLayoutPackages, OEMDevicePlatformPackages).

    Observe que os OEMDevicePlatform.xml e devicelayout.xml podem ser empacotados em um pacote, por exemplo, DeviceLayout.MBR4GB. Em seguida, o mesmo pacote pode ser especificado como entrada nas duas seções (por exemplo, em <OEMDevicePlatformPackages> e <DeviceLayoutPackages>). Para saber mais, confira Layout do dispositivo.

  4. Copiar em recursos (Recursos).

    Copie os recursos desejados. Exclua qualquer um que não se aplique ao seu projeto.

    Por exemplo, copie em cada um dos drivers , exceto o driver GPIO existente:

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

    Observação: para facilitar o agrupamento de pacotes, você pode combiná-los em uma ou mais IDs de recurso. Por exemplo, todos os drivers opcionais do Raspberry Pi 2 usam a ID do recurso: RPI2_DRIVERS.

  5. Adicionar o driver HelloBlinky

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

Criar uma nova pasta de produto

  1. Crie uma nova pasta de produto em funcionamento, adicionando seu nome BSP ao final.

    newproduct ProductC MyRpi2
    

    Isso cria a pasta: C:\MyWorkspace\Source-<arch>\Products\ProductC, que está vinculada ao novo BSP.

Atualizar os arquivos de configuração do projeto

  1. Atualizar o arquivo de configuração de teste de produto usando Add-IoTProductFeature

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

Compilar e testar a imagem

Criar a imagem

  1. No Shell do IoT Core, crie a imagem:

    buildimage ProductC Test
    

    Isso cria os binários do produto em C:\MyWorkspace\Build\<arch>\ProductC\Flash.ffu.

  2. Inicie a Instalação do Painel > do Windows IoT Coreem um novo dispositivo>Personalizado e navegue até sua imagem.

    Coloque o micro SD cartão no dispositivo, selecione-o, aceite os termos de licença e clique em Instalar. Isso substitui a imagem anterior por nossa nova imagem.

  3. Coloque o cartão no dispositivo IoT e inicie-o.

    Após um curto período, o dispositivo deve ser iniciado automaticamente e você deverá ver seu aplicativo.

Verifique se o driver funciona

  1. Use os procedimentos de teste no laboratório Hello, Blinky! para testar seu driver.

Layout do dispositivo

Próximas etapas

Laboratório 3: Atualizar aplicativos