Releases: riscv-mcu/riscv-gnu-toolchain
Nuclei RISC-V Toolchain 2024.06
This is the release note of Nuclei RISC-V Toolchain 2024.06, release is maded based on branch nuclei/2024-gcc13
.
See https://doc.nucleisys.com/nuclei_tools/toolchain/gnu/intro.html about how to use this toolchain.
Please create issue if you are facing issues using Nuclei RISC-V Toolchain, see https://github.com/riscv-mcu/riscv-gnu-toolchain/issues
Known issues of this release: #18
New features
This new version of toolchain need to work with Nuclei Studio 2024.06, and it is already included in it.
Nuclei SDK 0.6.0 and NMSIS 1.2.1 need to use this new version of toolchain.
- Known issues for 2023.10 & 2024.02 are fixed in this release.
- Sync gcc13 changes with https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/vendors/riscv/heads/gcc-13-with-riscv-opts (2023-12-04)
- Support scheduling for nuclei 100 series and nuclei 1000 series.
- Support riscv bfloat16 extensions for binutils.
- Support riscv Zilsd & Zcmlsd extensions for binutils.
- More multilibs are added to support Nuclei 100 series and Zc extension.
- Supports the definition of Nuclei NICE instructions and nuclei VNICE instructions in the form of .insn.
- Optimize performance of Nuclei C Runtime Library with only a little code size overhead
- Rename some Nuclei custom CSR name, and add support for some new Nuclei custom CSR.
- Known issues reported for 2023.10 and 2024.02 are fixed in this release
How to get prebuilt toolchain for windows or linux
Please click https://nucleisys.com/download.php#tools to find release 2024.06.
See other Nuclei Tools Releases
Full Changelog: nuclei-2023.10...nuclei-2024.06
Nuclei RISC-V Toolchain 2023.10
This is the release note of Nuclei RISC-V Toolchain 2023.10.
Warning
This 2023.10 toolchain has some issues in using Zc extension, please use 2024.02 release to replace this version.
Note: llvm compiler is introduced in Nuclei Toolchain for the first time, you can take a try with it, but with just official RISC-V ISA support, no Nuclei customized ISA supported.
This release is maded upon nuclei/2023 branch
Please create issue if you are facing issues using Nuclei RISC-V Toolchain, see https://github.com/riscv-mcu/riscv-gnu-toolchain/issues
Known issues of this release: #10
Toolchain source version update
- Bump gcc from gcc
10.2
to gcc13.1
- Bump binutils from
2.36
to2.40
- Bump gdb from
10.0
to13.2
- Bump newlib
4.1.0
to4.3.0
- Bump libncrt from
2.0.0
to3.0.0
- Include clang release
17.0.2
New features
This new version of toolchain need to work with Nuclei Studio 2023.10, and it is already included in it.
Nuclei SDK 0.5.0 and NMSIS 1.2.0 need to use this new version of toolchain.
Nuclei Toolchain cross compile prefix changed from
riscv-nuclei-elf-
toriscv64-unknown-elf-
- Both gcc and clang distributed in this release support latest RISC-V Vector Intrinsic API v0.12
-march
compiler isa option changed to use both single-letter and multi-letter ISA extensions, see riscv-non-isa/riscv-toolchain-conventions#26, so previous single-lettler isa string such asb/p/k/v
now all changed to multi-letter now, see https://doc.nucleisys.com/nuclei_sdk/develop/buildsystem.html#arch-ext for details isa string name changes.- P Extension draft 0.5.4 release and Nuclei DSP N1/N2/N3 support is added to gcc 13, isa naming is
_xxldsp
,_xxldspn1x
,_xxldspn2x
and_xxldspn3x
- RISC-V Code Size Reduction extension called
Zc*
support is added to gcc 13, isa naming is_zca
,_zcb
,_zcf
,_zcd
,_zcmp
and_zcmt
- Nuclei Code Size Reduction extension called
Xxlcz
support is added to gcc 13, isa naming is_xxlcz
, need to use together withZc*
extension - Other general extensions such as IMAFDCV and Zk* extension support is already added in gcc 13 officially, see https://gcc.gnu.org/gcc-13/changes.html
- We also cherry picked upstream master branch's new feature such as
Zicond
and RVV auto vectorization. - Nuclei customized CSRs support are added in gcc 13
- Nuclei libncrt C library upgrade to version 3.0.0, and library spilt into three parts(c library part + fileops part + heapops part), for more details, please check libncrt user guide distributed in toolchain
share/pdf/Nuclei C Runtime Library Doc.pdf
doc, eg.--specs=libncrt_small.specs
in gcc10 now should change to--specs=libncrt_small.specs -lncrt_small -lfileops_uart -lheapops_basic
in linker options, you can also refer to https://doc.nucleisys.com/nuclei_sdk/develop/buildsystem.html#stdclib. - We also changed multilib combinations to support B/P/Zc extensions, check it by
riscv64-unknown-elf-gcc -print-multi-lib
orriscv64-unknown-elf-clang -v
- Toolchain prebuilt documentation can be found in
share/pdf
andshare/doc
folder.
How to get prebuilt toolchain for windows or linux
Please click https://nucleisys.com/download.php#tools to find release 2023.10.
See other Nuclei Tools Releases
Nuclei RISC-V GNU Toolchain 2022.08
Full Changelog: 2022.04...2022.08
Nuclei GNU Toolchain 2022.04 Release
This is the release version 2022.04 of Nuclei RISC-V GNU Toolchain
Main changes in this release:
- Add b/p/v intrinsic support in riscv-gcc
- Add libncrt library support in gnu toolchain, only rv32 is suppported
Nuclei GNU Toolchain, Version 2020.08
Nuclei GNU Toolchain, Version 2020.08
This is the release version 2020.08 of Nuclei RISC-V GNU Toolchain
Main changes in this release:
- Adding Nuclei RISC-V DSP instruction support(RV32/RV64), or the P-extension
- Add CI build using github workflow
v9.2RC Toolchain
Including GCC9.2, GDB, OpenOCD, Make.
This toolchain supports Nuclei's DSP extensions.