Skip to content
FreeRTOS port for the RISC-V Virtual Prototype
C C++ Assembly
Branch: master
Clone or download
Pull request Compare This branch is even with vherdt:master.

FreeRTOS for RISC-V Virtual Prototype (VP)

This is a port of FreeRTOS to RISC-V with a focus of running it on the RISC-V VP (see This port is based on a fork from To build the demo applications the RISC-V GNU toolchain is required. Build instructions for the toolchain are also available at


The original port to priv spec 1.7 was contributed by Technolution

Update to priv spec 1.9: illustris

Update to priv spec 1.9.1: Abhinaya Agrawal

Bug fixes: Julio Gago

Update to priv spec 1.10: sherrbc1

Update to support external interrupt sources and demo applications for the RISC-V VP: vherdt


You can edit main() in main.c (Demo/standard-demo/main.c, also check the other demos) to add your FreeRTOS task definitions and set up the scheduler.

To build a FreeRTOS demo (requires the RISC-V GNU toolchain to be available in PATH),

cd Demo/integrated-interrupts


riscv-vp riscv-main.elf --memory-start=2147483648
You can’t perform that action at this time.