Many of you may be familiar with Liviu Ionescu’s project called GNU ARM Eclipse and it’s set of Eclipse plugins for ARM MCU development.
I’m proud to announce that we have been working with Liviu over the past few months in order to help his project support SiFive CPUs and RISC-V in general. As such Liviu has recently rebranded his website to GNU MCU Eclipse and published all of the RISC-V work he has been doing. Please check out his website here:
We use Liviu’s plugins in Freedom Studio and are continuing to work with Liviu to ensure that SiFive and RISC-V have the best open source development tools available.
Liviu also maintains a binary distribution of RISC-V GCC and OpenOCD. His current distribution of RISC-V GCC includes newlib-nano, a C standard library which significantly reduces code size of standard library functions such as printf.
For the global_interrupts example targeting the E31 Coreplex Arty FPGA image, simply enabling newlib-nano reduced the application size from 64.78kB to 10kB!
We are looking into incorporating newlib-nano into Freedom-E-SDK as well as our binary gcc distributions. Until then, please feel free to try out newlib-nano using the GNU-MCU-Eclipse distribution linked below:
After installing the GNU-MCU-Eclipse toolchain, you can tell Freedom Studio to use it by clicking Window – Preferences – MCU – RISC-V Toolchain and setting the path to the newly installed toolchain’s bin directory. From there you can enable newlib-nano for a specific project by selecting a project and clicking Project – Properties – C/C++ Build – Settings – Linker – Miscellaneous and checking the box for Use newlib-nano. Then clean and re-build for reduced code size!