/toolchain-riscv-linux

PIO repackaging of RISC-V toolchain for Linux

Primary LanguageC++

xPack GNU RISC-V Embedded GCC

This is the xPack version of the GNU RISC-V Embedded GCC toolchain.

For details, see The xPack GNU RISC-V Embedded GCC pages.

Easy install

The xPack RISC-V Embedded GCC toolchain is also available as a binary xPack and can be conveniently installed with xpm:

$ xpm install --global @xpack-dev-tools/riscv-none-embed-gcc@8.2.0-3.1.1

For more details on how to install the toolchain, please see How to install the RISC-V toolchain? page.

Compliance

Starting with 8.2.0-2, the xPack GNU RISC-V Embedded GCC (formerly GNU MCU Eclipse RISC-V GCC) follows the official SiFive releases, with as little differences as possible.

This release is based on the v2019.05.0 release, and includes the SiFive extensions (like CLIC interrupts).

The following commits (from sifive/freedom-tools) were used:

GDB was upstreamed and does not require SiFive specific patches, so the current build uses git://sourceware.org/git/binutils-gdb.git, the 9b40759 commit from 28 Feb 2019.

Changes

Compared to the original SiFive version, the same architecture and API options are supported, and there are minimal functional changes

  • libgloss was removed from the list of libraires always linked to the application, since it issues ECALL instructions that fail in bare metal environments
  • march=rv32imaf/mabi=ilp32f was added to the list of multilibs

newlib-nano

Support for newlib-nano is available using the --specs=nano.specs option. For better results, this option must be added to both compile and link time.

nosys.specs

If no syscalls are needed, --specs=nosys.specs can be used at link time to provide empty implementations for the POSIX system calls.

Compile options

The libraries are compiled with -O2 -mcmodel=medany. The nano version is compiled with -Os -mcmodel=medany.

Important: It is mandatory for the applications to be compiled with -mcmodel=medany, otherwise the link will fail.

Documentation

The original PDF documentation is available in the share/doc folder.

Support

For support, please read the support page.

More info

For more info, please see the xPack project site:

http://xpack.github.io/riscv-none-embed-gcc

Thank you for using open source software,

Liviu Ionescu