[email protected]
THIS REPO IS NOW ARCHIVED. If you would like to make an addition or change, please contactRISC-V Software Ecosystem Overview
This document captures the status of the RISC-V Software Ecosystem. Please add to the list and fix inaccuracies by making a Pull Request against the software list repository on GitHub.
- Simulators
- Object toolchain
- Debugging
- C compilers and libraries
- Boot loaders and monitors
- Hypervisor and related tools
- OS and OS kernels
- Compilers and runtimes for other languages
- IDEs, SDKs and binary toolchain distributions
- Security
- Machine Learning / AI
- Configuration
- Verification Tools
- Accelerated Libraries
We would like to enlist community help for the software ports in the Help Wanted section.
Simulators
Name | Links | License | Maintainers |
---|---|---|---|
riscvOVPsimPlus | website | Proprietary freeware | Imperas |
DBT-RISE-RISCV | github | BSD 3-Clause | MINRES Technologies |
FireSim | website, mailing list, github, ISCA 2018 Paper | BSD | Sagar Karandikar, Howard Mao, Donggyu Kim, David Biancolin, Alon Amid, Berkeley Architecture Research |
gem5 | SW-dev thread, repository | BSD-style | Alec Roelke (University of Virginia) |
OVPsim | website, github | Proprietary (core simulation platform), Apache License (processor / platform model) | Imperas |
jor1k | website, github | BSD 2-Clause | Sebastian Macke |
Jupiter | github | GPL-3.0 | Andrรฉs Castellanos |
MARSS-RISCV | github | MIT | Gaurav N Kothari, Parikshit P Sarnaik, Gokturk Yuksek (State University of New York at Binghamton) |
QEMU | upstream | GPL | Sagar Karandikar (University of California, Berkeley), Bastian Koppelmann (University of Paderborn), Alex Suykov, Stefan O'Rear and Michael Clark (SiFive) |
RARS | github | MIT | Benjamin Landers |
Renode | website, github | MIT | Antmicro |
Ripes | github | MIT | Morten Borup Petersen |
RISC-V Virtual Prototype | website, github | MIT | Vladimir Herdt (University of Bremen, AGRA) |
TinyEMU | website | MIT | Fabrice Bellard |
Spike | github | BSD 3-clause | Andrew Waterman & Yunsup Lee (SiFive) |
Swerv-ISS | github | GPL - 3 | Joseph Rahmeh (Western Digital) |
VLAB | VLAB Works | Proprietary | ASTC |
WebRISC-V | github | BSD 3-clause | Gianfranco Mariotti, Roberto Giorgi (University of Siena) |
PQSE | website | Proprietary | PQShield |
riscv-rust | website github | MIT | Takahiro Aoyagi |
terminus | github | MIT | Yang Li |
Vulcan | github | MIT | Victor Miguel de Morais Costa |
riscv-vm | github | MIT | Aidan Dodds |
EmulsiV | Working Instance, GitHub | Open (MPL2.0) | Guillaume Savaton |
Object toolchain
Name | Links | License | Maintainers |
---|---|---|---|
Binutils | RISC-V repo, Upstream repos | GPLv2 | Andrew Waterman (SiFive), Palmer Dabbelt (Google) & Jim Wilson (SiFive) |
LLVM | GitHub mirror | Apache 2.0 with LLVM exception | Alex Bradbury (lowRISC) |
Cranelift | GitHub | Apache 2.0 | Cranelift core team |
Debugging
Name | Links | License | Maintainers |
---|---|---|---|
GDB | Upstream | GPLv2 | Andrew Burgess (Embecosm), Palmer Dabbelt (Google) |
OpenOCD | Upstream repo, RISC-V repo | GPLv2 | Tim Newsome (SiFive), Megan Wachs (SiFive), Palmer Dabbelt (Google) |
GNU MCU Eclipse OpenOCD | Website, GitHub | GPLv2 | Liviu Ionescu |
TRACE32 JTAG Debugger | Website | TRACE32 license | Lauterbach |
Ozone - the J-Link Debugger | Website | SEGGER commercial license (J-Link PLUS) | SEGGER |
Ashling RiscFree Debugger | Website | Ashling commercial license | Ashling |
Imperas Multi Processor Debugger | Website | Imperas Commercial License | Imperas |
TCF Debugger | Website, GitHub | Eclipse Distribution License 1.0 (BSD) / Eclipse Public License 1.0 | Sanimir Agovic |
PlatformIO Unified Debugger | Docs | Apache 2.0 | PlatformIO |
Green Hills Probe | Website | Proprietary | Green Hills |
GRMON | Website | Evaluation license, Proprietary | Cobham Gaisler |
C compilers and libraries
Name | Links | License | Maintainers |
---|---|---|---|
GCC | Upstream, RISC-V repository | GPLv3 | Andrew Waterman (SiFive), Palmer Dabbelt (Google), Jim Wilson (SiFive), Kito Cheng (SiFive) |
GNU MCU Eclipse RISC-V Embedded GCC (riscv-non-embed-gcc) | Web, Repository, Build, Binary package installer | Eclipse Public License | Liviu lonescu |
Clang/LLVM | Upstream | Apache 2.0 | Alex Bradbury (lowRISC) |
CompCert | Upstream | INRIA Non-Commercial License Agreement | Xavier Leroy |
Glibc | Upstream, RISC-V repository | GPLv2 | Palmer Dabbelt (Google), Andrew Waterman (SiFive), DJ Delorie (Red Hat), Darius Rad(Bluespec) |
Newlib | Upstream, RISC-V repository | GPLv2 | Kito Cheng (SiFive) |
SEGGER Runtime Library | Website | SEGGER commercial license | SEGGER |
SEGGER Floating Point Library | Website | SEGGER commercial license | SEGGER |
Musl | GitHub | MIT | - |
Green Hills Optimizing C/C++ Compilers | Website | Proprietary | Green Hills |
OpenArkCompiler (MAPLE) | Upstream | MulanPSL-2.0 | Futurewei |
Andes MCUlib | website | Andes commercial license | Andes |
Boot loaders and monitors
Name | Links | License | Maintainers |
---|---|---|---|
coreboot | Upstream | GPLv2 | Ron Minnich (Google), Jonathan Neuschรคfer |
U-Boot | Upstream | GPLv2 | Rick Chen (Andes) |
Proxy Kernel/BBL | GitHub | BSD 3-clause | SiFive |
OpenSBI | GitHub | BSD 2-clause | Anup Patel (Western Digital), Atish Patra (Western Digital) |
RustSBI | GitHub | Mulan PSL v2 | Luo Jia (Huazhong Univ. of Sci. & Tech.) |
UEFI edk2 | GitHub | BSD 2-Clause Patent | Abner Chang (Hewlett Packard Enterprise), Daniel Schaefer (Hewlett Packard Enterprise) |
Hypervisors and related tools
Name | Links | License | Brief | Maintainers |
---|---|---|---|---|
Xvisor | Website, Upstream, RISC-V Repo | GPLv2 | Type-1 baremetal monolithic hypervisor | Anup Patel (Western Digital) |
KVM | Website, RISC-V Repo, RISC-V Wiki | GPLv2 | Type-2 hypervisor | Anup Patel (Western Digital), Atish Patra (Western Digital) |
KVMTOOL | Upstream, RISC-V Repo | GPLv2 | Userspace tool for the KVM hypervisor | Anup Patel (Western Digital), Atish Patra (Western Digital) |
RVirt | GitHub | Apache-2.0 | Trap-and-emulate hypervisor | Jonathan Behrens (MIT) |
OS and OS kernels
Linux built from source
Name | Links | License | Maintainers |
---|---|---|---|
Linux Kernel | github, kernel.org | GPLv2 | Andrew Waterman (SiFive), Albert Ou (SiFive), Palmer Dabbelt (Google) |
Yocto Project/OpenEmbedded | github | MIT | Khem Raj |
Buildroot | busybox.net | Mark Corbin (Embecosm) |
Linux distributions
Name | Links | License | Maintainers |
---|---|---|---|
Fedora | fedoraproject.org | Richard WM Jones, Stefan OโRear, David Abdurachmanov | |
Debian | debian wiki, mit.edu, riscv.org, Annc | Manuel A. Fernandez Montecelo | |
OpenMandriva | openmandriva.org, openmandriva.org | Bernhard "Bero" Rosenkrรคnzer | |
openSUSE | opensuse.org | Andreas Schwab (SUSE) | |
Gentoo | github | Palmer Dabbelt (University of California, Berkeley) | |
Parabola GNU/Linux-libre | github, parabola.nu | Andreas Grapentin (University of Potsdam, HPI) | |
Ataraxia Linux | github | protonesso | |
Slackware Linux | github | รlvaro Figueroa (of Greencore Solutions) | |
Ubuntu | ubuntu.com | xnox |
Real-time Operating Systems
Name | Links | License | Maintainers |
---|---|---|---|
RT-Thread | github, rt-thread.io | Apache 2.0 | RT-Thread |
embOS | Website, RISC-V port | SEGGER commercial license, free for non-commercial use | SEGGER |
RTEMS | rtems.org, docs.rtems.org | Hesham Almatary | |
FreeRTOS | sourceforge, freertos.org | MIT | AWS |
Zephyr | github, docs | Apache 2.0 | Karol Gugala (Antmicro), Peter Gielda (Antmicro), Nathaniel Graff (SiFive) |
LiteOS | github, docs | Chaifangming (Huawei), Pengzhouhu (Huawei), Huerjia (Huawei) | |
NuttX | bitbucket.org, nuttx.org | ||
Apache Mynewt | riscv.org | Apache 2.0 | James Pace, Runtime |
OpenWrt | github, binary repo | Zoltan Herpai | |
seL4 | github, seL4.systems | GPLv2 (kernel and proofs), various open-source licenses (userland) | Trustworthy Systems group, Data61 CSIRO |
PikeOS | Press release | Proprietary | SYSGO |
VxWorks | Press release | Proprietary | Wind River |
Embox | github, embox.rocks | Embox | |
Phoenix-RTOS | github, documentation | BSD | Phoenix Systems |
BSD distributions
Name | Links | License | Maintainers |
---|---|---|---|
FreeBSD | github, wiki.freebsd.org, presentation | Ruslan Bukin (FreeBSD) | |
NetBSD | netbsd.org, github | Matt Thomas (NetBSD), Reinoud Zandijk (NetBSD) |
Compilers and runtimes for other languages
Name | Links | License | Maintainers |
---|---|---|---|
Go | Upstream, RISC-V repository, Stef's fork | BSD 3-clause | Benjamin Barenblat (Google), Michael Pratt (Google), Stef O'Rear |
Ocaml | Upstream, RISC-V repository | LGPL | Nicolรกs Ojeda Bรคr |
Maxine VM (Java Virtual Machine) | Upstream | GPLv2 | Maxine team |
Jikes RVM (Java Virtual Machine) | Upstream | Eclipse Public License (EPL) | Martin Maas (University of California, Berkeley) |
OpenJDK/HotSpot (Java Virtual Machine) | ? | ? | Alexey Baturo, Michael Knysnek, Martin Maas |
OpenJDK/OpenJ9 (Java Virtual Machine) | Upstream | Eclipse Public License 2.0 (EPLv2) with ClassPath Exception & Apache 2.0 | Cheng Jin |
BishengJDK/HotSpot (Java Virtual Machine) | Upstream | GPLv2 with Classpath Exception | Yadong Wang |
Free Pascal | Upstream | ? | Jeppe Johansen and others |
Nim | Upstream | MIT | Andreas Rumpf and others |
Ada (GNAT) | Upstream | GPLv3 with linking exception | AdaCore |
Rust | Upstream | Apache and MIT | Rust Project |
muForth | Upstream | ? | David Frech |
ibForth | Upstream | GPLv3 | Lars Brinkhoff |
Mecrisp-Quintis Forth kernel | Upstream | ? | Matthias Koch |
Mono | Initial support in upstream | MIT | Alex Rรธnne Petersen |
Zen | Zen-Lang.org | Commercial, AGPLv3 | connectFree Corporation |
V8 (JS) | Upstream github | BSD | RIOS, Futurewei, PLCT Lab |
Node.js | github | MIT | RIOS, Futurewei, PLCT Lab |
OpenArkCompiler (MAPLE) | Upstream | MulanPSL-2.0 | Futurewei |
Eclipse OMR | github | Eclipse Public License 2.0 (EPLv2) with ClassPath and Assembly Exception & Apache 2.0 | Eclipse OMR Project |
IDEs, SDKs and binary toolchain distributions
Name | Links | License | Maintainers |
---|---|---|---|
riscv-gnu-toolchain | Website | GPLv3 | RISC-V International |
JianChi CDK | website | Alibaba commercial license | T-Head (Alibaba group) |
Imperas M*SDK | Website | Proprietary | Imperas |
GNU MCU Eclipse | Website, Repositories, Binary distribution | EPL-1.0 / various | Liviu Ionescu |
RT-Thread Studio | Website | EPL-1.0 / various | RT-Thread |
AndeSight IDE | website | Andes comercial License | Andes |
Embedded Studio | Website, RISC-V spec | SEGGER commercial license, free for non-commercial use | SEGGER |
IAR Embedded Workbench | Website | commercial | IAR Systems |
PlatformIO | Website, IDE, Docs | Apache 2.0 | PlatformIO |
Freedom Studio | Website | EPL 1.0/various | SiFive |
Nuclei Studio | Website | EPL 1.0/various | Nuclei System Technology |
Ashling RiscFreeTM IDE | Website | Ashling commercial license | Ashling |
SoftConsole | Website | Various, see RN | Microchip |
GCC Sourcery CodeBench Lite | Website | GPLv3 | Mentor, a Siemens Business |
LLVM Sourcery CodeBench Lite | Website | Apache 2.0 | Mentor, a Siemens Business |
MULTI IDE | Website | Proprietary | Green Hills |
Security
Name | Links | License | Maintainers |
---|---|---|---|
emCrypt | Website | Commercial, free for non-commercial use | SEGGER |
CoreGuard | Website | Proprietary | Dover Microsystems, Inc. |
MultiZone API | GitHub | ISC | Hex Five Security Inc. |
Secure IoT Stack | GitHub | MIT, GPLv2, GPLv3, Evaluation license | Hex Five Security Inc. |
MultiZone Security TEE & Enclave | SDK, Enclave | Evaluation license | Hex Five Security Inc. |
Keystone Enclave | Website, Repositories | BSD 3-clause | Keystone Team |
SecureRF | Website, SDK | Proprietary | SecureRF Corp. |
IntrinsicID | Quiddikey | Proprietary | Intrinsic ID |
Penglai Enclave | Website, GitHub | Mulan PSL v1 | IPADS |
PQSLIB / PQSoC | Website | Proprietary | PQShield |
Ghidra | Website, Github | Apache 2.0 | National Security Agency |
Machine Learning / AI
Name | Links | License | Maintainers |
---|---|---|---|
TF Lite | demo, blog note | Apache 2.0 | Antmicro / Google TF Lite team |
ncnn | GitHub | BSD 3-clause | Tencent Open Source |
Andes NN Library | website | Andes commercial license | Andes |
Configuration
Name | Links | License | Maintainers |
---|---|---|---|
RISC-V Explorer | Website | Proprietary | BlueSpec |
Verification Tools
Name | Links | License | Maintainers |
---|---|---|---|
OneSpin RISC-V Verification App | Website | Proprietary | OneSpin |
OneSpin Floating-Point Unit App | Website | Proprietary | OneSpin |
RISCV-DV | GitHub | Apache 2.0 | CHIPS Alliance Tools/DV workgroup |
STING | Website | Proprietary | Valtrix Systems |
ImperasDV SystemVerilog HW DV | Website | Proprietary | Imperas |
Axiomise formalISA app | Website | Proprietary | Axiomise |
Accelerated Libraries
Name | Links | License | Maintainers |
---|---|---|---|
OpenBLAS (Support RISC-V V extension 0.7.1) | GitHub | BSD 3-clause | PerfXLab |
Andes DSP Library | website | Andes commercial license | Andes |
Andes Vector Library | website | Andes commercial license | Andes |
Help Wanted
- Dart