• Stars
    star
    120
  • Rank 295,983 (Top 6 %)
  • Language
    C
  • License
    MIT License
  • Created about 4 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Windows IOT drivers

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.

Export the bsp

Note: this section is only applicable to Windows 10 IoT Core.

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.
    .\binexport.ps1 C:\Release
    (or)
    .\binexport.ps1 C:\Release -IsDebug # for debug binaries
  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

More Repositories

1

linux

Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/
C
11,056
star
2

documentation

The official documentation for Raspberry Pi computers and microcontrollers
Python
5,178
star
3

firmware

This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware.
5,133
star
4

pico-sdk

C
3,536
star
5

pico-examples

C
2,763
star
6

noobs

NOOBS (New Out Of Box Software) - An easy Operating System install manager for the Raspberry Pi
Makefile
2,210
star
7

userland

Source code for ARM side libraries for interfacing to Raspberry Pi GPU.
C
2,040
star
8

tools

C
1,876
star
9

rpi-imager

The home of Raspberry Pi Imager, a user-friendly tool for creating bootable media for Raspberry Pi devices.
C
1,668
star
10

rpi-eeprom

Installation scripts and binaries for the Raspberry Pi 4 and Raspberry Pi 5 bootloader EEPROMs
Shell
1,257
star
11

pico-micropython-examples

Examples to accompany the "Raspberry Pi Pico Python SDK" book.
Python
948
star
12

usbboot

Raspberry Pi USB booting code, moved from tools repository
C
897
star
13

picamera2

New libcamera based python library
Python
852
star
14

debugprobe

C
730
star
15

hats

C
658
star
16

pico-tflmicro

Pico TensorFlow Lite Port
C++
619
star
17

picotool

C++
549
star
18

Raspberry-Pi-OS-64bit

Repository for containing issues on the 64 bit operating system (as distinct from the 32 bit one)
466
star
19

pico-extras

C
459
star
20

pico-playground

C
434
star
21

quake3

C
390
star
22

rpicam-apps

C++
383
star
23

maynard

Desktop environment for Wayland
C
336
star
24

piserver

Raspberry Pi Server wizard to serve Raspbian to network booting Pis
C++
311
star
25

pico-project-generator

Tool to automatically generate a Pico C SDK Project
Python
294
star
26

pico-bootrom-rp2040

C
271
star
27

raspiraw

Example app directly receiving raw data from CSI2 sensors
C
257
star
28

pico-setup-windows

PowerShell
252
star
29

libcamera

C++
211
star
30

utils

A collection of scripts and simple applications
C
148
star
31

openocd

C
141
star
32

pico-bootrom-rp2350

C
120
star
33

cmprovision

Provisioning system for CM4 products
PHP
97
star
34

pico-setup

Shell
92
star
35

scratch

Scratch releases
79
star
36

usbbootgui

GUI for booting a Raspberry Pi device like Pi Zero or compute module as a device
M4
77
star
37

rp2350_hacking_challenge

CMake
70
star
38

tinyusb

C
67
star
39

rpi-sense

Sense HAT firmware and driver
Assembly
66
star
40

usb-pid

Raspberry Pi Pico PID allocations
63
star
41

gpioexpander

Buildroot based ethernet gadget which gives a host access to PIGPIO to control GPIO pins
Makefile
62
star
42

pico-vscode

The official VS Code extension for Raspberry Pi Pico development. It includes several features to simplify project creation and deployment.
TypeScript
62
star
43

target_fs

Shell
39
star
44

weston

The Weston Wayland Compositor
C
37
star
45

scriptexecutor

Simple buildroot based system for executing a remote script for manufacture programming
Shell
36
star
46

pico-host-sdl

C
27
star
47

pico-feedback

24
star
48

raspberrypi.github.io

Raspberry Pi GitHub organisations
HTML
20
star
49

pytrack

Python
17
star
50

Pi-Codec

Tools for the IQaudIO Pi-Codec / CodecZero sound cards
16
star
51

skygate

Python
15
star
52

style-guide

14
star
53

bookworm-feedback

13
star
54

CMSIS-RP2xxx-DFP

C
13
star
55

armulet

C++
8
star
56

pylibcamera

Meson
8
star
57

libpisp

C++
7
star
58

pico-sdk-tools

Shell
5
star
59

rpi-sb-provisioner

A minimal-input automatic secure boot provisioning system for Raspberry Pi devices.
Shell
5
star
60

pykms

Meson
2
star
61

FreeRTOS-Kernel

C
1
star
62

sweet-b

C
1
star