Skip to content

Latest commit

 

History

History
80 lines (54 loc) · 4.04 KB

File metadata and controls

80 lines (54 loc) · 4.04 KB

Raspberry Pi Board Support Package for Windows 10

Welcome to the Raspberry Pi Board Support Package (BSP) for Windows 10

This repository contains BSP components for the Raspberry Pi 2, 3 and Compute Modules running 32-bit Windows 10 IoT Core (version 1809). It also contains BSP components for the Raspberry Pi 2 (v1.2), 3, 4 and corresponding Compute Modules running 64-bit Windows 10.

This BSP repository is under community support; it is not actively maintained by Microsoft. For Raspberry Pi 4 onwards, it's designed for use with Windows 10 version 2004 and later, because of use of newer driver frameworks which are not available on earlier releases.

64-bit firmware

For the Raspberry Pi 4, firmware from the Pi Firmware Task Force is used, which provides UEFI and ACPI support. It is available at https://github.com/pftf/RPi4/releases.

For the Raspberry Pi 2 (v1.2) and Raspberry Pi 3, the Pi Firmware Task Force provides firmware at https://github.com/pftf/RPi3/releases, which provides UEFI and ACPI support.

32-bit firmware

Sample binaries of the firmware is included in RPi.BootFirmware to enable quick prototyping. The sources for these binaries are listed below.

  1. Firmware binaries : RaspberryPi/Firmware
  2. UEFI Sources : RPi/UEFI

32-bit EFI Customisations

Note: this section is only applicable to 32-bit Windows 10 IoT Core on Raspberry Pi 3 and earlier.

SMBIOS requirements of Windows 10 IoT Core OEM Licensing requires a custom version of kernel.img file with the proper SMBIOS values.

See PlatformSmbiosDxe.c to update the SMBIOS data. Steps to build the kernel.img is provided in the RPi/UEFI Github.

Build the drivers

  1. Clone https://github.com/raspberrypi/windows-drivers
  2. Open Visual Studio with Administrator privileges
  3. In Visual Studio: File -> Open -> Project/Solution -> Select windows-drivers\build\bcm2836\buildbcm2836.sln
  4. Set your build configuration (Release or Debug)
  5. Build -> Build Solution

The resulting driver binaries will be located in the windows-drivers\build\bcm2836\ARM\Output folder, or windows-drivers\build\bcm2836\ARM64\Output if you picked an Arm 64-bit configuration.

64-bit IoT Core

This repo provides experimental ARM64 IoT Core support for Raspberry Pi 3 and 4.

Please refer to IOTARM64.md for more information.

Export the 32-bit BSP

Note: this section is only applicable to 32-bit Windows 10 IoT Core for Raspberry Pi 3 and earlier, please refer to IOTARM64.md for the experimental 64-bit BSP.

We provide a binexport.ps1 script to scrape the BSP components together into a zip file for easy use with the IoT ADK AddonKit.

  1. Open Powershell
  2. Navigate to rpi-iotcore\tools
  3. Run binexport.ps1 with the appropriate arguments.
    # Platform:
    #    RPi        - Raspberry Pi 2/3 32-bit BSP
    #    RPi3.ARM64 - Raspberry Pi 3   64-bit BSP (experimental)
    #    RPi4.ARM64 - Raspberry Pi 4   64-bit BSP (experimental)
    
    # OutputDir
    #    The output directory for the BSP zip file.
    
    # IsDebug
    #    Specify to package debug binaries. Default is Release binaries.
    .\binexport.ps1 [Platform] [OutputDir] [-IsDebug]
    
    # Samples
    # 32-bit BSP for Raspberry Pi 2/3, release binaries
    .\binexport.ps1 RPi C:\Release
    
    # 32-bit BSP for Raspberry Pi 2/3, debug binaries
    .\binexport.ps1 RPi C:\Debug -IsDebug
  4. The script will generate a zip file RPi.BSP.xx.zip that can be imported into the IoT-ADK-Addonkit shell using Import-IoTBSP.
    Import-IoTBSP RPi C:\Temp\RPi.BSP.xx.zip