Skip to content

alberto-escobar/CPSC538G

Repository files navigation

CPSC 538G Real-Time System Design

This project extends the FreeRTOS kernel to implement real-time scheduling algorithms as part of CPSC 538G. The goal was to implement Earliest Deadline First (EDF), Stack Resource Policy (SRP), Constant Bandwidth Server (CBS), and multiprocessor EDF scheduling.

All implementations were tested on a Raspberry Pi Pico (RP2040). See the following directories for documentation on each feature:

  • EDF — Earliest Deadline First scheduling
  • SRP — Stack Resource Policy
  • CBS — Constant Bandwidth Server
  • MP — Multiprocessor EDF scheduling

Deploying to the Pico

First, put the Pico into bootloader mode by holding the BOOTSEL button while plugging it into USB. It will mount as RPI-RP2.

Then deploy using one of two methods:

VS Code tasks — open the Command Palette, run Tasks: Run Task, and select the desired build/deploy task.

Deploy script — run from the repo root:

./scripts/deploy-uf2.sh [target]
  • target: the CMake target to build and flash. Defaults to CPSC-538G-Project.
  • If the Pico is not auto-detected, set PICO_MOUNT_PATH to its mount point: PICO_MOUNT_PATH=/path/to/RPI-RP2 ./scripts/deploy-uf2.sh [target]

The script will build the target, locate the mounted Pico, copy the .uf2 file, and the Pico will reboot into the new firmware automatically.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors