Skip to content

Repository files navigation

possum

A operating system built for Raspberry Pi Pico

Requirement

Building the project

# Clone the repository:
git clone https://github.com/PES-Innovation-Lab/possum
cd possum

# Update the submodules:
# Pulls the pico-sdk and the picosh tool for loading
# programs
git submodule update --init --recursive

Prepare a sample env file

export ARM_NONE_EABI_PATH="path-to-arm-gnu-toolchain/arm-none-eabi/include/"
export PICO_SDK_PATH="path-to-possum-project/pico-sdk/"

export PATH="path-to-arm-gnu-toolchain/bin/":$PATH

Set the board and platform in build.zig

const Board = enum {
    pico,
    pico2_w,
};
const Platform = enum {
    rp2040,
    rp2350,
};

// example
pub fn build(b: *std.Build) anyerror!void {
    const board = Board.pico;
    const platform = Platform.rp2040;

    // snippet
}

Using docker

  • build the image
make run

# optionally use just
just run
  • Run the container with the run-clean recipe if you are cleaning the '.zig-cache' and 'cmake' builds

Build on bare metal

zig build

About

Raspberry Pi Pico firmwares built in zig with Pico C's SDK

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages