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
- Security
- Machine Learning / AI
We would like to enlist community help for the software ports in the Help Wanted section.
Name | Links | License | Maintainers |
---|---|---|---|
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) |
Imperas | website | Proprietary, models available under Apache 2.0 | Imperas |
riscvOVPsim | github | license | Imperas |
OVPsim | website | Free for non commercial use, models available under Apache 2.0 | 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 |
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 |
Name | Links | License | Maintainers |
---|---|---|---|
GDB | Upstream | GPLv2 | Andrew Burgess (Embecosm), Palmer Dabbelt (Google) |
OpenOCD | Upstream repo, RISC-V repo | GPLv2 | Tim Newsome, Megan Wachs, 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 |
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 | - |
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) |
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) |
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) |
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 |
Name | Links | License | Maintainers |
---|---|---|---|
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 |
RT-Thread | github, rt-thread.org | Apache 2.0 | RT-Thread |
PikeOS | Press release | Proprietary | SYSGO |
VxWorks | Press release | Proprietary | Wind River |
Name | Links | License | Maintainers |
---|---|---|---|
FreeBSD | github, wiki.freebsd.org, presentation | Ruslan Bukin (FreeBSD) | |
NetBSD | netbsd.org, github | Matt Thomas (NetBSD), Reinoud Zandijk (NetBSD) |
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 |
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 |
Name | Links | License | Maintainers |
---|---|---|---|
GNU MCU Eclipse | Website, Repositories, Binary distribution | EPL-1.0 / various | Liviu Ionescu |
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 |
Ashling RiscFreeTM IDE | Website | Ashling commercial license | Ashling |
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 |
Name | Links | License | Maintainers |
---|---|---|---|
TF Lite | demo, blog note | Apache 2.0 | Antmicro / Google TF Lite team |
Name | Links | License | Maintainers |
---|---|---|---|
RT-Thread/HIFIVE1 BSP | github | Apache 2.0 | tanek |
- V8
- Node.js
- Dart