Awesome
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:
- the sifive/riscv-gcc project,
branch
sifive-gcc-8.2.0
, commit 242abcaff6 from from 5 April 2019 - the sifive/riscv-binutils-gdb
project, branch
sifive-binutils-2.32
, commit 164267155c from 28 February 2019 - the sifive/riscv-newlib project, commit 42c2e3fb9f from 17 November 2018
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 issuesECALL
instructions that fail in bare metal environmentsmarch=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